获取基于父表中外键的PId的子记录 - Spring/Hibernate
问题描述:
我想根据子表中的外键PId获取子记录。获取基于父表中外键的PId的子记录 - Spring/Hibernate
父表
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
}
儿童Enity
@Entity
@Table(name="child")
public class Child {
private Integer CId;
private String name;
@ManyToOne
private Parent parent;
//getter and setters
}
我想在Child表中获取基于PId的所有子记录。不想获得父母记录。我收集了PIds。
在此先感谢
答
您可以创建标准和取谁拥有这样的父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的Session的工厂,或者你应该打开会议由你自己。
谢谢@Burask。这帮助了我很多。这对我很有用。 –
不用@Ankurjain如果你想要的话,你可以标记为正确的,这样其他人也可以理解它的作用。 –