Probleme mit einem Query (left join)

Status
Nicht offen für weitere Antworten.

GilbertGrape

Bekanntes Mitglied
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:
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();
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)



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
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R JPA Probleme mit Wechsel von EclipseLink auf Hibernate Data Tier 4
D Probleme bei Left Joins mit Hibernate createCriterias() Data Tier 2
D Hibernate probleme mit Verlinkungstabelle Data Tier 4
HaukeG @MappedSuperclass Probleme und Lösungsideen gesucht Data Tier 6
Y @OneToMany Liste Probleme mit Identity Keys Data Tier 2
X CLOB lenght Probleme unter verschiedenen Datenbanken (eclispelink) Data Tier 2
A Probleme beim deployen Data Tier 4
T Probleme mit Schema (Hibernate) Data Tier 15
GilbertGrape hibernate: Probleme mit Queries Data Tier 2
J JPA - Zeilen in einem festen Intervall laden. Data Tier 4
R Ein Objekt mit einem String aus einem Set laden Data Tier 2
S OpenJPA mit einem Java-SE-Projekt benutzen Data Tier 5
ARadauer Hibernate Query der Kindelemente, wie bidirektionale Verbindung vermeiden Data Tier 0
E JPA Hibernate Query mit Timestamp hat seltsames Verhalten Data Tier 1
T Named Query Join Data Tier 3
T JPA Query - Verbesserungsvorschlag Data Tier 5
M JPA Query: Kann ich Objekte einer Oberklasse über Objekte der Unterklassen abfragen? Data Tier 5
M JPA 2.0: Query mit der Criteria API: Wie case-insensitive machen? Data Tier 1
G JPA 2.0 Query Problem Data Tier 3
T [Hibernate] Named query not found Data Tier 8
byte Hibernate: Query Cache und Assoziationen Data Tier 10
M JPA - Query.setFirstResult, Query.setMaxResults - intern? Data Tier 10

Ähnliche Java Themen

Neue Themen


Oben