J'ai trois entités ClassA, ClassB et ClassC.Critères d'hibernation OneToMany, ManyToOne et List
ClassA {
...
@Id
@GeneratedValue
@Column(name = "a_id")
private long id;
...
@OneToMany(cascade={CascadeType.ALL})
@JoinColumn(name="a_id")
private List<ClassB> bbb;
...
}
ClassB {
...
@ManyToOne
private ClassC ccc;
...
}
ClassC {
...
private String name;
...
}
Je veux filtrer par critères Hibernate ClassA par 'name' membre de ClassC. Donc, je veux obtenir par hibernate la liste des critères des objets ClassA qui ont des objets ClassC avec le nom spécifié. Le problème est que l'accès aux objets ClassC se fait à travers la liste ClassB.
J'ai essayé quelque chose comme ça, mais ça ne marche pas:
crit.createCriteria("bbb").createCriteria("ccc").add(Restrictions.ilike("name", name, MatchMode.ANYWHERE));
Je serai reconnaissant de l'aide.
ceci fonctionne bien! –
La méthode createAlias avec CriteriaSpecification est désormais obsolète –