0
i have a question about the hibernate many to many query.
@Entity
@Table(name = "ROLES")
public class Role implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@ManyToMany(mappedBy = "roleSet", fetch = FetchType.EAGER, cascade = CascadeType.MERGE)
@Fetch(FetchMode.SELECT)
private Set<Role> parentSet = new HashSet<Role>();
@ManyToMany(targetEntity = Role.class, cascade = {CascadeType.ALL}, fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
@JoinTable(name = "R_PARENT_ROLE", joinColumns = @JoinColumn(name = "parentId"), inverseJoinColumns = @JoinColumn(name = "ROLEID"))
private Set<Role> roleSet = new HashSet<Role>();
}
i die Liste der Rolle der parentSet abfragen wollen, ist null der Code wie:Hibernate: Kriterien mit many-to-many und der HashSet ist null als Abfragebedingung
public <T> List<T> gets(Class<T> clazz){
Session session = getSession();
Criteria criteria = session.createCriteria(clazz);
criteria.createAlias("parentSet","parentSet");
criteria.add(Restrictions.isNull("parentSet"));
return criteria.list();
}
aber das Ergebnis ist nicht ich will. wie zu tun? Wer kann mir sagen? vielen Dank!