0

我想为我的 SQL 查询使用 Criteria。我有 3 张表“家”、“人”和第三张表“liveIn”,用于家庭和人之间的对应关系。

我的 sql 查询是“选择 home.id from home, person, liveIn where home.country = 'Japan' and person.id = '15' and liveIn.Homeid = home.id and liveIn.PersonId = person.id”

一点帮助任何人?

4

2 回答 2

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 回答
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 回答