我的查询是这样的:

Query query1 = session.createQuery("select c.email from Contact c where c.contactNo =:contactNo");
    query1.setInteger("contactNo", 22);

我得到的错误是:



它工作正常
Query query = session.createQuery("select c.email from Contact c where c.contactNo = ?");
    query.setInteger(0, 22);

为什么第一个查询不起作用?

最佳答案

Query query1 = session.createQuery("select c.email from Contact c where c.contactNo =:contactNo");
query.setParameter("contactNo", 22);

尝试使用 setParameter 而不是 setInteger

关于java - 参数不作为命名参数存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24322073/

10-09 02:57