Я хотел бы использовать критерии для моего SQL-запроса. У меня есть 3 таблицы «дом», «человек» и третья таблица «liveIn» для соответствия между домом и человеком.
Мой запрос sql "выберите home.id из дома, человека, живого где home.country = 'Япония' и person.id = '15' и liveIn.Homeid = home.id и liveIn.PersonId = person.id "
Кому-нибудь помочь?


Предполагая, что у вас есть таблицы, отображенные как объекты Home, Person и LiveIn, тогда может сработать что-то вроде этого:
session.createCriteria(Home.class)
.add(Restrictions.eq("country", "Japan"))
.createAlias("person", "p")
.add(Restrictions.eq("p.id", "15"))
.list();
Если у вас есть ссылка на объект объекта person, вы можете использовать ее в своем запросе критериев вместо того, чтобы искать идентификатор человека.
Например:
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;
}
а ваша проблема с этим кодом была бы?