我希望根据子表中的外键PId获取子记录。
父表
PId Name
1 Nish
2 Bish
3 Tish
儿童表
CId PId Name
1 1 ABC
2 1 DEF
3 2 XYZ
家长实体
@Entity
@Table(name="parent")
public class Parent {
private Integer PId;
private String name;
//getter and setters
}
儿童恩惠
@Entity
@Table(name="child")
public class Child {
private Integer CId;
private String name;
@ManyToOne
private Parent parent;
//getter and setters
}
我想在Child表中找到基于PId的所有子记录。不想获得父记录。我收集了PIds。
提前致谢
答案 0 :(得分:0)
您可以创建条件并获取父ID如下所有的孩子:
public List<Child> getChildsOfParent(Integer parentId) {
Session session = this.sessionFactory.getCurrentSession();
Criteria cr = session.createCriteria(Child.class);
cr.add(eq("parent.id", parentId));
return (Child)cr.list();
}
如果你使用spring,你应该自动连接hibernate会话工厂,或者你应该自己打开会话。