qq_34791921 2016-06-08 07:22 采纳率: 0%
浏览 701

hibernate hql中的问题

String parameters[] = {user.getId()+""};
List list = HibernateUtil.query("from User where id not in(?)", parameters);

public static List query(String hql,String parameters[]){
List list = null;
Transaction ts = null;
Session session = HibernateUtil.openSession();
try {
ts = session.beginTransaction();
ts.begin();
Query query = session.createQuery(hql);
for(int i=0;i<parameters.length;i++){
query.setParameter(i, parameters[i]);
}
list = query.list();

出现错误提示 java.lang.String cannot be cast to java.lang.Integer

  • 写回答

3条回答 默认 最新

  • Robot-C 2016-06-08 07:32
    关注

    今天碰到个自我感觉奇怪的问题,在编写where条件时添加了or,然后用括号把or后面的内容给括起来了,但是hql解析后生成的sql发现没有括号了,开始的时候坚定的认为生成的sql不对,各种尝试,甚至都怀疑Hibernate出现Bug了,后来怀疑or是不是用的不对,不能这么干,后来又怀疑is not null 等等一切,最后同事从网上查到发现,and的优先级要高于or,之后就没有之后了......
    答案就在这里:Hibernate HQL 括号问题
    ----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

    评论

报告相同问题?