2016-10-10 10 views
0

子テーブルの外部キーである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 

} 

PIdに基づくすべての子レコードを子テーブルに登録したい。親レコードを取得したくない。私はPIdsのコレクションを持っています。事前

答えて

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(); 
} 

あなたが春を使用している場合は、Hibernateセッションファクトリをautowiredなければならない、またはあなたが開きますあなた自身でセッション。

+0

ありがとう@Burask。それは私を大いに助けました。それは私のために働いています。 –

+0

あなたは歓迎です@Ankurjainもしあなたが正しいとマークすることができれば、他の人もそれが動作することを理解することができます。 –

関連する問題