问答详情
源自:8-1 课程总结

hql练习二 ,老是报语法错误,可是我怎么也找不到错误,呜呜……

String hql = "select new com.imooc.model.Order(o.customer.name,o.tradeDate,o.status,o.amount) "

+ " from Order as o "

+ " where o.tradeDate between '2015-05-01' and '2015-06-01' "

+ " and o.status='已发货' or o.status='已付款' "

+ " and o.amount > 1000 "

+ " order by o.status asc,o.tradeDate desc,o.amount desc";


提问者:mo_fei 2017-02-27 14:01

个回答

  • 星鸿
    2017-08-15 11:12:24

    有时候我们的实体类和某些lib中的Java类会有冲突,结果用上述HQL语句的时候就报了java.lang.ClassCastException异常。

    原因:存在同名的java类,这是导致这个异常的原因之一。

    解决方法:给bean加上具体路径:如     select new com.exampley.User(name,age) from com.exampley.User;


  • 况且
    2017-06-27 17:51:26

    请问解决了吗

  • admxj
    2017-03-01 14:13:01

    你这HQL 怎么在 new对象呀

    String hql = "select Order(o.customer.name,o.tradeDate,o.status,o.amount) "
    + " from Order as o "
    + " where o.tradeDate between '2015-05-01' and '2015-06-01' "
    + " and o.status='已发货' or o.status='已付款' "
    + " and o.amount > 1000 "
    + " order by o.status asc,o.tradeDate desc,o.amount desc";


    这样试试