Hi,
leider habe ich bislang keine Lösung für folgendes Problem gefunden, wobei ich mir denken könnte, dass dies eigentlich nicht so schwer sein sollte. Beherrsche die Hibernate Criteria API allerdings auch noch nicht so gut.
Hier das Problem. Ich habe eine Klasse Parent und eine Klasse Child:
Code:
class Parent {
@OneToMany(cascade={...}, mappedBy="parent")
private Set<Child> children;
}
class Child {
@ManyToOne(cascade={....})
@JoinColumn(name="parent_id",nullable=false)
private Parent parent;
}
Nun würde ich mit der Criteria API gerne folgende Abfrage formulieren:
Code:
select * from child where parent_id=? and [Bedingung durch Example.create(<ChildrenObjekt>)]
Einzige Bedingung dabei ist, dass die Criteria generisch sein muss, d.h. sollte bspw. auch für die Klassen Father und Son, Baum und Apfel etc. gelten, welche die gleiche Beziehung wie Parent und Child aufweisen.
Ein Join sollte aus Performancegründen möglichst vermieden werden.
Ich hoffe diese Lösung dann für mehrere Fremdschlüssel ala
Code:
select * from child where mother_id=? and father_id=? and [Bedingung durch Example.create(<ChildrenOjekt>)]
ausweiten zu können.
Vielen Dank im vorraus,
Danny