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