0

我有两张桌子

第一个计划时间

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 个对象

  1. plan_table 的第一行
  2. 时间表的第一行
  3. 时间表的第一行- 这是第二个对象的重复。

它必须与休眠有关...我检查了发送到数据库的 SQL 并且没问题。

:/

请帮忙。

4

1 回答 1

0

我找到了解决这个问题的方法。以下是对我有帮助的提示:

  1. 我通过getStartFk()getEndFk()方法接收 t1 和 t2 形式的 PlanTable 对象。
  2. 我正在使用渴望获取

我仍在试图找出这个问题的状态。

https://hibernate.atlassian.net/browse/HHH-3988

于 2013-07-12T08:10:57.290 回答