hibernate native sql
来源:互联网 发布:lu分解 算法 编辑:程序博客网 时间:2024/04/27 17:13
1.直接返回List结果集,不包括列名信息
List ls = session.createSQLQuery(querySql).list();
如果当前查询SQL里包括多列,则List里每行存放的是Object数组,如果直接查询的是一列,则每行存放的则直接就是查询的哪一列的数据。
也可以在返回的结果数据里指定每一列的类型
List ls2 = session.createSQLQuery(querySql).addScalar("column_name", Hibernate.DATE).list();
这样返回的数据的时候Hiberante就会对返回的数据转换成你指定的数据类型.这个是在3.1版本就支持的操作。
2.返回包括列名信息,可以是数据每行转换成一个Map形式。则KEY对应列名,VALUE对应当前列的值。
实现方法如下:
List ls3 = session.createSQLQuery(querySql).setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP).list();
这样返回的结果集每行就是Map(key:column,value:columnValue);还可以使用其他的一些Hibernate定义好的一些ResultTransformer方法的实现类。具体可以参考org.hibernate.criterion.CriteriaSpecification里定义的一些。
当然列可以实现自己的数据组装方法,只需要实现ResultTransformer接口就行了。
注意:ResultTransformer实现新版本的Hibernate才支持
以上例子说明的两种方法是没有Hibernate的mapping对象的概念。直接和JDBC返回的结果差不多。
如果想支持返回数据为Hibernate的Entity可以具体参考Hibernate参考文档里的 Native SQL查询一章的实现方法。
List ls = session.createSQLQuery(querySql).list();
如果当前查询SQL里包括多列,则List里每行存放的是Object数组,如果直接查询的是一列,则每行存放的则直接就是查询的哪一列的数据。
也可以在返回的结果数据里指定每一列的类型
List ls2 = session.createSQLQuery(querySql).addScalar("column_name", Hibernate.DATE).list();
这样返回的数据的时候Hiberante就会对返回的数据转换成你指定的数据类型.这个是在3.1版本就支持的操作。
2.返回包括列名信息,可以是数据每行转换成一个Map形式。则KEY对应列名,VALUE对应当前列的值。
实现方法如下:
List ls3 = session.createSQLQuery(querySql).setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP).list();
这样返回的结果集每行就是Map(key:column,value:columnValue);还可以使用其他的一些Hibernate定义好的一些ResultTransformer方法的实现类。具体可以参考org.hibernate.criterion.CriteriaSpecification里定义的一些。
当然列可以实现自己的数据组装方法,只需要实现ResultTransformer接口就行了。
注意:ResultTransformer实现新版本的Hibernate才支持
以上例子说明的两种方法是没有Hibernate的mapping对象的概念。直接和JDBC返回的结果差不多。
如果想支持返回数据为Hibernate的Entity可以具体参考Hibernate参考文档里的 Native SQL查询一章的实现方法。
- hibernate native sql
- hibernate native sql
- hibernate native sql 查询介绍
- Hibernate native SQL queries examples
- Hibernate 使用原生 Native SQL
- hibernate的native sql查询
- hibernate 的native sql 查询
- hibernate的native sql查询
- hibernate 调用native sql : 转义
- Native sql (本地sql)在Hibernate中
- Hibernate学习笔记:使用native sql查询
- hibernate native Sql Rounding necessary 解决
- Hibernate检索方式之Native SQL
- 了解hibernate中的native SQL查询
- ssh学习:hibernate中Native SQL查询
- hibernate在命名查询named queries中使用native sql
- Hibernate中的native sql 连接sqlserver服务器的应用
- 使用Hibernate+MySql+native SQL的BUG,以及解决办法
- Developing Application Frameworks in .Net --- (Note 3 Cach)
- 原始套接字伪造发包
- 二叉搜索树BSTree
- 熊猫烧香病毒的分析处理、清除和恢复感染文件方
- 有意思的for循环
- hibernate native sql
- Eclipse 常用快捷键
- 常用资源网站搜罗
- 分析称2007年IT巨头将争夺三大领域
- xp下sql2000的安装
- c#用最简单的方法构造树(treeview)
- 搜索引擎学习资源收集
- OSWorkflow学习笔记 JDBC配置
- gSoap2.7.9+vc8使用总结