Как я могу сделать это с помощью Hibernate - PullRequest
0 голосов
/ 22 марта 2011

Запрос SQL выглядит следующим образом:

select s1.* 
from Sample1 s1,Sample2 s2 where
s1.field1=s2.field4 and
s2.field2='XXYYZZ'

Структура таблицы

  • Таблица Sample1 имеет только три поля (field1, field2, field3)
  • Таблица Sample2 имеет три поля (field4, field5, field6)

И имена бинов

Sample1Bean, Sample2Bean

Я хочу данныетолько из Sample1 only (field1, field2, field3).Как я могу сделать это, используя Hibernate без HQL и используя класс Criteria?

Ответы [ 2 ]

0 голосов
/ 22 марта 2011
List s1 = session.createCriteria(Sample1.class)
                 .createCriteria("field1")
                 .add(Restrictions.eq("field2", "XXYYZZ")).
                 .list();

Hibernate делает запросы на объекты не на столе.Поэтому связь между Sample1 и Sample2 должна быть сопоставлена.

Obs:

  1. s1 будет иметь список Sample1.
  2. "field1" должен быть атрибутом вОбразец1 типа Образец2.
0 голосов
/ 22 марта 2011
  SELECT s1 FROM Sample1 s1, Sample2 s2 WHERE s1.field1 = s2.field2 AND s2.field2 = 'XXYYZZ'

В результате будет возвращен объект типа Sample1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...