我想为我的 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”
一点帮助任何人?
如果您有人员对象的对象引用,则可以在条件查询中使用它,而不必搜索人员的 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;
}
假设您将表映射为实体 Home、Person 和 LiveIn,那么这样的事情可能会起作用:
session.createCriteria(Home.class)
.add(Restrictions.eq("country", "Japan"))
.createAlias("person", "p")
.add(Restrictions.eq("p.id", "15"))
.list();