atitit. orm框架的hibernate 使用SQLQuery createSQLQuery addEntity框架
List cats = sess.createSQLQuery( " select * from cats " ).addEntity(Cat. class ).list(); post
做者:: 老哇的爪子 Attilax 艾龍, EMAIL:1466519819@qq.comspa
轉載請註明來源: http://blog.csdn.net/attilax.net
這裏,結果集字段名被若是爲與映射文件裏指明的字段名相同。對於鏈接了多個表的查詢。這就可能形成問題,因爲可能在多個表中出現相同名字的字段。hibernate
如下的方法就可以避免字段名反覆的問題:orm
List cats = sess.createSQLQuery( " select {cat.*} from cats cat " ).addEntity( " cat " , Cat. class ).list(); htm
這個查詢指定了:blog
SQL查詢語句。它帶一個佔位符,可以讓Hibernate使用字段的別名.接口
查詢返回的實體,和它的SQL表的別名.it
addEntity()方法將SQL表的別名和實體類聯繫起來。並且肯定查詢結果集的形態。
List cats = sess.createSQLQuery(
" select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother = cat.id " )
.addEntity( " cat " , Cat. class )
.addJoin( " kitten " , " cat.kittens " )
.list();
hibernate裏createSQLQuery的addEntity()和setResultTransformer()方法 - 正走向大牛的菜鳥 - ITeye技術站點.htm