获取基于父表中外键的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的工厂,或者你应该打开会议由你自己。

+0

谢谢@Burask。这帮助了我很多。这对我很有用。 –

+0

不用@Ankurjain如果你想要的话,你可以标记为正确的,这样其他人也可以理解它的作用。 –