4
我有三个表/类,我正在用左外连接提取。我执行以下查询:当使用createSQLQuery()连接表时,Hibernate可以返回空对象吗?
List<Object[]> l = session.createSQLQuery("SELECT a.*, b.*, c.* " +
" FROM (table_a a INNER JOIN table_b b ON a.some_id = b.some_id) " +
" LEFT OUTER JOIN table_c c ON c.some_id = a.some_id"
).addEntity("a", A.class).addEntity("b", B.class).addEntity("c", C.class).list();
查询时存在于A和B的行但在C中没有相应的列,如休眠试图用C分配到非空属性空值(I失败不能将这些属性更改为可空)。如果C中的某行不存在,而不是尝试创建一个空值对象,那么在Hibernate中是否有一个设置为C返回空对象?
http://community.jboss.org/wiki/AShortPrimerOnFetchingStrategies。你有没有试过设置'lazy = true'?不确定,如果这有帮助。 – 2012-01-05 22:19:48
我正面临类似的问题。你有没有找到解决方案? – jabclab 2012-08-30 11:49:08