3
Hibernate 3.6 & postgresql 9.1。 使用SQLQuery如何獲取結果數組數據(Long - 助手數組,行數爲「Text,Long,Timestamp」 - accounts)?Hibernate SQLQuery,如何獲取數組和行對象?
limit = 10000;
final SQLQuery sqlQuery = getSession().createSQLQuery("SELECT id, name, ts, " +
" array(SELECT assistant_id FROM user_assistant WHERE p_id=pr.id ORDER BY assistant_id) AS accounts," +
" array(SELECT row(type,uid,ts) FROM user_account WHERE p_id=pr.id ORDER BY type) AS accs," +
" FROM profile pr WHERE ts > ? ORDER BY ts LIMIT " + limit);
最具有休眠實體&註釋寫DAO功能。 但是對於一些統計任務來說,使用HQL甚至SQL更容易。 與hibernateSQL中的純JDBC相反,使用數組並不那麼直觀。
JDBC可能是一個解決方案,但我還沒有找到任何方法從Hibernate Session或Connection獲取JDBC Statement。 使用ResultTransformer不也有幫助,失敗:
org.hibernate.MappingException: No Dialect mapping for JDBC type: 2003