atitit. orm框架的hibernate 使用SQLQuery createSQLQuery addEntity

atitit. orm框架的hibernate 使用SQLQuery createSQLQuery addEntity框架

1. addEntity
对原生SQL查询运行的控制是经过SQLQuery接口进行的。经过运行Session.createSQLQuery()获取这个接口。最简单的状况下,咱们可以採用下面形式:

List cats = sess.createSQLQuery( " select * from cats " ).addEntity(Cat. class ).list(); post

做者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.comspa

转载请注明来源: http://blog.csdn.net/attilax.net

 

2. addEntity  占位符 别名

这里,结果集字段名被若是为与映射文件里指明的字段名相同。对于链接了多个表的查询。这就可能形成问题,因为可能在多个表中出现相同名字的字段。hibernate

如下的方法就可以避免字段名反复的问题:orm

List cats = sess.createSQLQuery( " select {cat.*} from cats cat " ).addEntity( " cat " , Cat. class ).list(); htm

这个查询指定了:blog

SQL查询语句。它带一个占位符,可以让Hibernate使用字段的别名.接口

查询返回的实体,和它的SQL表的别名.it

addEntity()方法将SQL表的别名和实体类联系起来。并且肯定查询结果集的形态。

 

3. addJoin()方法可以被用于加载其它的实体和集合的关联.

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(); 

 

 

4. 參考

hibernatecreateSQLQueryaddEntity()setResultTransformer()方法 正走向大牛的菜鸟 - ITeye技术站点.htm

相关文章
相关标签/搜索