Hibernate本地SQL查询SQLQuery - 编程入门网
Hibernate本地SQL查询SQLQuery时间:2011-07-29使用SQLQuery 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。最简单的情况下,我们可以采用以下形式: Listcats = sess.createSQLQuery("select*fromcats").addEntity(Cat.class).list(); 这个查询指定了:SQL查询字符串和查询返回的实体。 这里,结果集字段名被假设为与映射文件中指明的字段名相同。对于连接了多个表的查询,这就可能造成问题,因为可能在多个表中出现同样名字的字段。下面的方法就可以避免字段名重复的问题: Listcats = sess.createSQLQuery("select{cat.*}fromcatscat").addEntity("cat",Cat.class).list(); 这个查询指定了: SQL查询语句,它带一个占位符,可以让Hibernate使用字段的别名. 查询返回的实体,和它的SQL表的别名. addEntity()方法将SQL表的别名和实体类联系起来,并且确定查询结果集的形态。 addJoin()方法可以被用于载入其他的实体和集合的关联.
原生的SQL查询可能返回一个简单的标量值或者一个标量和实体的结合体。
除此之外,你还可以在你的hbm文件中描述结果集映射信息,在查询中使用。
命名SQL查询 可以在映射文档中定义查询的名字,然后就可以象调用一个命名的HQL查询一样直接调用命名SQL查询.在这种情况下,我们不 需要调用addEntity()方法.
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |