0

SQL クエリに Criteria を使用したいと思います。私は3つのテーブル「家」、「人」、そして家と人の対応のために「liveIn」という3番目のテーブルを持っています。

私のSQLクエリは、「home.country = 'Japan' and person.id = '15' and liveIn.Homeid = home.id and liveIn.PersonId = person.idのhome、person、liveInからhome.idを選択する」です。

誰かを少し助けますか?

4

2 に答える 2

1

テーブルがエンティティHome、Person、LiveInとしてマップされているとすると、次のように機能する可能性があります。

          session.createCriteria(Home.class)
                .add(Restrictions.eq("country", "Japan"))
                .createAlias("person", "p")
                .add(Restrictions.eq("p.id", "15"))
                .list();
于 2008-11-27T10:39:58.340 に答える
1

人物オブジェクトのオブジェクト参照がある場合は、人物の ID を検索する代わりに、条件クエリでそれを使用できます。

例えば:

public List<Home> getHomesForPerson(Person thePerson){

    List<Home> homes = session.createCriteria(Home.class)
                          .add(Restrictions.eq("country", "Japan")
                          .add(Restrictions.eq("person", thePerson)
                          .list();
    return homes;
}
于 2009-07-15T13:56:12.987 に答える