2 qq 28573739 qq_28573739 于 2016.03.21 09:52 提问

hql查询报错。。。。实体类问题
hql

hql语句:
String hql="from CouponPublishEntity e inner join e.couponpool c where c.owner='"+userId+"' and e.pubid in ("+ids+") ";
报错
[org.jeecgframework.core.common.exception.GlobalExceptionResolver]全局处理异常捕获:
org.hibernate.QueryException: could not resolve property: couponpool of: com.sendiy.hh.coupons.entity.CouponPublishEntity [from com.sendiy.hh.coupons.entity.CouponPublishEntity e inner join e.couponpool c where c.owner='4028668150c6aedb0150c6ddde750005' and e.pubid in ('2') ]
问题是实体类写错了吗,还是语法错了·

3个回答

zhangsiqiong
zhangsiqiong   2016.03.21 10:15
已采纳

实体类中没有找到couponpool,看是不是你实体类中不是这样写的, hql区分大小写

zhangsiqiong
zhangsiqiong 如果你两张实体有关系 你试试String hql="from CouponPublishEntity e,CouponPublishEntity c where c.owner='"+userId+"' and e.pubid in ("+ids+") ";
2 年多之前 回复
qq_28573739
qq_28573739 实体类:@Entity @Table(name = "couponpool", schema = "") @SuppressWarnings("serial") public class CouponPoolEntity implements java.io.Serializable { /**couponseqid*/ private java.lang.Integer couponSeqId; /**批次号*/ private java.lang.String pubId; /**序号*/ private java.lang.String couponNo; private java.lang.String serialno; 把couponpll改成CouponPoolEntity也不好使
2 年多之前 回复
zhangsiqiong
zhangsiqiong   2016.03.21 13:08

CouponPublishEntity这个实体和CouponPoolEntity这个实体不是两个实体吗,那你怎么从CouponPublishEntity 中拿到CouponPoolEntity

String hql="from CouponPublishEntity e inner join CouponPoolEntity c where c.owner='"+userId+"' and e.pubid in ("+ids+") ";

zhangsiqiong
zhangsiqiong   2016.03.21 13:09

CouponPublishEntity这个实体和CouponPoolEntity这个实体不是两个实体吗,那你怎么从CouponPublishEntity 中拿到CouponPoolEntity

String hql="from CouponPublishEntity e inner join CouponPoolEntity c where c.owner='"+userId+"' and e.pubid in ("+ids+") ";

qq_28573739
qq_28573739 回复有_道_是: 报错啊。。不对啊!
2 年多之前 回复
qq_28573739
qq_28573739 改成String hql="from CouponPublishEntity e inner join CouponPoolEntity c where c.owner='"+userId+"' and e.pubid in ("+ids+") ";了 又报Path expected for join! at org.hibernate.hql.internal.ast.HqlSqlWalker.createFromJoinElement(HqlSqlWalker.java:369)。。
2 年多之前 回复
enpterexpress
enpterexpress 大侠好厉害(。)(。)
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
hql对象封装到实体类的注意事项
很多时候我们直接将hql查询到的结果封装到POJO中,这样省去了遍历List赋值到其他List的操作,有时也能解决一些特殊问题发现了如下几个容易出现的错误 POJO的对象一定和数据库中的字段名字对象,并且必须有全参构造方法。hql语句中查询了几个,POJO就需要有几个对应的对象。 第二个问题是类型必须要对应,在用到Date类型的时候,注意引用的包为utils.Date 而不是 sql.Date,还有
Hibernate查询结果转换为实体类型 (HQL/SQL)
在使用Hibernate时,大部分情况使用HQL直接得到的就是实体了,但有时你或许要用到自定义实体的转换,可以参考如下 1.POJO实体 session.createSQLQuery(queryString.toString()).addEntity(实体.class); 2.普通JavaBean(非HibernatePOJO实体) SQLQuery query
Java中使用hql,sql查询--多表查询后的新实体构建方法详解
需要将Query对象setResultTransformer: List list = session.createSQLQuery(sql).setResultTransformer( Transformers.ALIAS_TO_ENTITY_MAP).list(); //此时,每个Object可以转换成一个Map Map map = (Map) list.get(i); map.ge
Hibernate中使用Criteria查询及注解——(HibernateUtil)
HibernateUtil        hibernate工具类: package cn.bdqn.hibernate_Criteria.Util; import org.hibernate.Session; import org.hibernate.cfg.Configuration; public class HibernateUtil { private static Sess
Hibernate合并查询结果集为实体类
用过mybatis的小伙伴可能都知道,我们可以查询两个表的部分字段合并为一个实体。然而用了Hibernate这么久了,居然还不知道也有此神器。说明一般来说,Hibernate中我们常用的有以下几个功能 1.查询全部字段的情况下,如”from 实体类”,list中封装的对象为实体类本身,各属性都将得到填充。 2.只查询一个字段,默认情况下,list中封装的是Object对象。 3.查询两个或两个
Hibernate hql 同时查询两个实体的信息
Hibernate hql 查询指定字段并获取结果集 转载 2013年05月21日 21:16:58 35512 Hibernate hql 查询指定字段并获取结果集 在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况: 1.查询全部字段的情况下,如"from 实体类",li
hql查询之实体对象查询
一、实体对象查询         实体对象查询是hql查询的基础,作为一种对象查询语言,在查询操作时和sql不同,查询字符串中的内容要使用类名和类的属性名来代替。这种查询方法相对简单,只要有SQL功底,使用hql是很简单的,但是有一些问题需要注意,就是查询获取数据不是目的,需要考虑的是如何编写出高效的查询语句,这才是讨论的重点。  1.1 N+1问题   
关于Hibernate实体类属性名的大小写的问题,出现了找不到该属性的错误
今天遇到一个有关Hibernate的bug。 我的实体类中有一个字段的首字母是大写的,在做hql查询的时候,出现了找不到该属性的错误。 下面说一个解决问题的思路: 1,首先确定这个属性确实有,hql语句中对应的该属性值也确实跟实体类的属性值一样。 2,然后比较了该实体类的其他属性,发现该属性值的首字母是大写,然后改成小写之后,再次查询的时候,可以查询成功。 3,成功之后,也想起了这点。h
【Hibernate步步为营】--hql查询之实体对象查询
实体对象查询是hql查询的基础,作为一种对象查询语言,在查询操作时和sql不同,查询字符串中的内容要使用类名和类的属性名来代替。这种查询方法相对简单,只要有SQL功底,使用hql是很简单的,但是有一些问题需要注意,就是查询获取数据不是目的,需要考虑的是如何编写出高效的查询语句,这才是讨论的重点。
关于在SSH框架整合时,使用hql语句查询出现 XXX is not mapped 的问题
在做SSH框架的整合过程中,新手往往会遇到这个问题。当我们使用hql语句查询时,控制台报错: XXX is not mapped。而此时,很多觉得英语不错的同学就会被自己搞晕。然后开始检查实体类的映射文件*.hbm.xml是否正确,是否将映射文件添加到spring的配置文件中,等等。然后高亮一通,仍不见效。 我们开始正题。大家都知道,Hibernate是一个让我们完全面向对象编程的框架。也就是说