hibernate的createSQLQuery多表查詢
來源:互聯網
上載者:User
請教如下問題 SELECT {c}.code, {c}.full_name FROM CUSTOMER {c} ORDER BY {c}.CODE,{c}.DBIF_DEPT
Query query = session.createSQLQuery(SQL_FIND_ALL,
new String[] { "c" }, new Class[] { Customer.class }); 運行出現如下錯誤
HIBERNATE>WARN 2005-09-22 09:28:22,023 [main] SQL Error: 17006, SQLState: null
HIBERNATE>ERROR 2005-09-22 09:28:22,023 [main] 列名無效 QL_FIND_ALL 改成 select {c.*} 運行ok
據我瞭解 select 的欄位 要和 Customer 的 屬性一一對應 可是現在有如下sql
select U.code, U.short_name, U.full_name, U.bank_trade, M.short_name0
from unit U, mtm_acct_flg M
where branch = 引數.branch and, dept = 引數.dept and, section = 引數.section and, U.mtm_acct_flg = M.code
order by U.code 我現在有unit,mtm_acct_flg兩個class,unit裡如果能包含mtm_acct_flg對象就有辦法處理.可是這兩個對象,是相互獨立的。
要從兩張表中抽去資料,該如何處理?
也就是select 的欄位如何和session.createSQLQuery裡的第三個參數一一對應起來??? 解決問題的前提是,必須用createSQLQuery方法,只能用sql語句,unit和mtm_acct_flg,兩個class相互獨立,不能修改資料庫。 有技術能處理嗎?有,請稍微指點一下,不能也請說出理由,歡迎大家討論。