你们中是否有人遇到过 HQL 查询中的参数替换不起作用的问题?
我认为,我正在使用 hibernate 进行一些从 MySQL 数据库获取实体的简单查询。
以下是查询:
entityManager.
createQuery("SELECT c FROM PersistentEvent c WHERE c.sessionId LIKE :sessionId").
setParameter("sessionId", session.getId()).getResultList();
没有得到结果!在调试过程中,我看到 session.getId() 返回了正确的值。
entityManager.
createQuery("SELECT c FROM PersistentEvent c WHERE c.sessionId LIKE :sessionId").
setParameter("sessionId", "TestSessionId - 1").getResultList();
适用于存在此类条目的测试数据。
有什么建议吗?谢谢
最佳答案
在您发布 Hibernate 生成的查询后,我注意到 session.getId()
正在插入 TestSession - 1
而不是 TestSessionId - 1
>,这是在您的硬编码示例中。
关于java - 为什么 HQL-Query 中的参数替换失败但 native 类型成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6988985/