Hallo,
ich weiß nicht genau, ob es Hibernate-spezifisch ist, aber ich probiers mal hier.
Ich habe 3 Tabellen. 2 davon haben eine m-n Beziehung und die dritte ist die Verknüpfungstabelle.
Jetzt möchte ich einen HQL-Query erzeugen, dass mir aus Tabelle 1 alle Einträge gibt, die noch nicht in der Verknüpfungstabelle referenziert sind.
Das ist der Query, wie er mit dem SQL-Developer funktioniert:
so sieht im Moment mein HQL-Query aus:
ich hatte auch schon das:
geht beides nicht.
beim ersten kommt die Exception:
java.sql.SQLException: ORA-00936: Ausdruck fehlt
hier noch die Entities: ( ich hoffe, dass die Auszüge reichen)
Verknüpfungstabelle:
Ich habe den Query auch schon ohne fetch probiert.
Vielleicht sieht das ja einer von euch.
Danke schonmal,
GG
ich weiß nicht genau, ob es Hibernate-spezifisch ist, aber ich probiers mal hier.
Ich habe 3 Tabellen. 2 davon haben eine m-n Beziehung und die dritte ist die Verknüpfungstabelle.
Jetzt möchte ich einen HQL-Query erzeugen, dass mir aus Tabelle 1 alle Einträge gibt, die noch nicht in der Verknüpfungstabelle referenziert sind.
Das ist der Query, wie er mit dem SQL-Developer funktioniert:
Code:
select * from unmodified_text left join unmodifiedtext_paragraph on
unmodified_text.id = unmodifiedtext_paragraph.unmodifiedtext
where unmodifiedtext_paragraph.unmodifiedtext is null
so sieht im Moment mein HQL-Query aus:
Code:
List<UnmodifiedText> newTexts = getSession().createQuery(
"from UnmodifiedText t left join fetch t.utp where t.utp is null").list();
ich hatte auch schon das:
Code:
List<UnmodifiedText> newTexts = getSession().createQuery(
"from UnmodifiedText t left join fetch t.utp where t.utp.unmodifiedText is null").list();
beim ersten kommt die Exception:
java.sql.SQLException: ORA-00936: Ausdruck fehlt
hier noch die Entities: ( ich hoffe, dass die Auszüge reichen)
Code:
@Entity
@Table(name = "UNMODIFIED_TEXT")
public class UnmodifiedText {
Set<UnmodifiedText_Paragraph> utp = new HashSet<UnmodifiedText_Paragraph>();
@OneToMany(mappedBy = "unmodifiedText", fetch=FetchType.EAGER, cascade=CascadeType.REMOVE)//,cascade=CascadeType.PERSIST)
public Set<UnmodifiedText_Paragraph> getUtp() {
return utp;
}
public void setUtp(Set<UnmodifiedText_Paragraph> utp) {
this.utp = utp;
}
Verknüpfungstabelle:
Code:
@Entity
@Table
public class UnmodifiedText_Paragraph {
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinColumn(name = "unmodifiedText",insertable = false, updatable = false)
private UnmodifiedText unmodifiedText;
@ManyToOne(cascade = {CascadeType.PERSIST,CascadeType.MERGE})
@JoinColumn(name = "paragraph",insertable = false, updatable = false)
private Paragraph paragraph;
public UnmodifiedText_Paragraph(){
super();
}
public UnmodifiedText getUnmodifiedText() {
return unmodifiedText;
}
public void setUnmodifiedText(UnmodifiedText unmodifiedText) {
this.unmodifiedText = unmodifiedText;
}
public Paragraph getParagraph() {
return paragraph;
}
public void setParagraph(Paragraph paragraph) {
this.paragraph = paragraph;
}
}
Ich habe den Query auch schon ohne fetch probiert.
Vielleicht sieht das ja einer von euch.
Danke schonmal,
GG