У меня две таблицыHibernate - двойной левый присоединиться к одной таблице
Первый plan_time
NAME | START_FK | END_FK
------------------------
test | 1 | 2
start_fk и end_fk являются FK отсылая к столу раз:
ID | NAME
---------
1 | time1
2 | time2
Я выполняю простой запрос:
SELECT pt.*, t1.*, t2.* FROM plan_table pt LEFT JOIN times t1 ON t1.id = pt.start_fk LEFT JOIN times t2 ON t2.id = pt.end_fk
И вот в чем проблема. Под SQL консоли я получаю хороший результат:
First row from plan_table join by first row from times table and second row from times table.
Когда я делаю это через спящий режим
SQLQuery sqlQuery = s.createSQLQuery(SQL-QUERY)
.addEntity(PlanTime.class)
.addEntity(Times.class)
.addEntity(Times.class);
Я получаю 3 объекта
- первый ряд от PLAN_TABLE
- первая строчка из раз стол
- первая серия из раз стол - это дублирование второго объекта.
Это должно быть что-то с Hibernate ... Я проверил SQL, который отправляется в БД, и все в порядке.
:/
Просьба помочь.
почему не использовать HQL вместо SQL-запроса? используйте этот .addEntity ("t2", Times.class) ' – nachokk