转自:http://yyq2007aa.blog.163.com/blog/static/4418160920098293528586/
使用hibernate中sql查询:
在使用这个方法时总会报错:
String sql="select id, name, price from product"; //id的DB类型为bigint sqlserver 2000
Query query = session.createSQLQuery(sql);
List list = query.setResultTransformer(
Transformers.aliasToBean(ProductInfo.class)) //VO ProductInfo的id类型是Long
.setFirstResult(first).setMaxResults(size).list();
这样子使用会有问题,错误如下:
Caused by: org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.serialssoloutions.database.entity.ProductInfo.id
Caused by: java.lang.IllegalArgumentException: argument type mismatch
在指定返回的类型后这个错误就不存在了.
SQLQueryquery = session.createSQLQuery(sql);
query.addScalar("id", Hibernate.LONG);
List list = query.setResultTransformer(
Transformers.aliasToBean(ProductInfo.class))
.setFirstResult(first).setMaxResults(size).list();
蓝色的部分是关键部分,在这样使用的时候最好是把所有返回的类型都指定了.
query.setResultTransformer(Transformers.aliasToBean(ProductInfo.class))
返回一个实体
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)返回一个Map:为DB中名称一致(大小写一致)遍历list时就可以对象
Map map = (Map)list.get[i];
map.get("id");map.get("name");来取值。按你的SQL语句select后的字段名来作为map的Key,但这个key必须与数据库中的字段名一模一样。
分享到:
相关推荐
Hibernate+本地SQL查询SQLQuery宣贯.pdf
weblogic12 下最新 org.hibernate.hql.ast.HqlToken解决办法
Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法 Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法 Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法 Hibernate SQL...
hibernate-release-4.0.0.Final.zip
hibernate-release-4.3.10.Final.zip 官方原版,因上传文件大小限制,去掉里面的project
1. import org.hibernate.Query; 2. 3. query.setFirstResult(0),query.setMaxResults(4);相当于MySQL中的limit 0, 4; 4. public void testQuery() { 5. Session session = null; 6. try { 7. session = ...
hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+...
hibernate-release-4.1.4.Final源码,是学习和使用hibernate的好资源,领略大师的编码规则,掌握高超的编码技术,值得学习!hibernate开发人员必备资料!
hibernate简单的demo,编程语言——Java,框架——Spring,框架——Hibernate
hibernate-annotations-3.4.0.GA hibernate-annotations-3.4.0.GA hibernate-annotations-3.4.0.GA
hibernate-mapping-3.0.dtd 配置后,就会在xml中进行提示
hibernate-configuration-3.0.dtd、hibernate-mapping-3.0.dtd、hibernate.properties(5.0.7)
hibernate-release-5.3.7.Final
hibernate-annotations-3.4.0.GA+hibernate-distribution-3.3.2.GA完整jar包
详解hibernate.hbm2ddl.atuo 属性的配置
最新版Latest release announcement (2018-07-05): 5.3.2.Final. hibernate-release-5.3.2.Final
hibernate-entitymanager-3.4.0.GA.rar hibernate-entitymanager-3.4.0.GA.rar hibernate-entitymanager-3.4.0.GA.rar hibernate-entitymanager-3.4.0.GA.rar hibernate-entitymanager-3.4.0.GA.rar hibernate-...
使用hibernate-validator 进行校验的jar包,里面包括了基础hibernate-validator-5.0.0.CR2.jar hibernate-validator-annotation-processor-5.0.0.CR2.jar 之外,还包括了el-api-2.2.jar javax.el-2.2.4等项目必不可...
hibernate-distribution-3.6.7.Final-dist.zip