0
你们有没有遇到过HQL-Query中的参数替换不起作用的问题?为什么HQL-Query中的参数替换失败但本机类型成功?
我使用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/JPA设置中打开“show_sql”并发布查询。 – Jeremy
'select persistent0_.id as id0_,persistent0_.date as date0_,persistent0_.description as descript3_0_,persistent0_.sessionId as sessionId0_ from event persistent0_ where persistent0_.sessionId like?'和用于调试输出的log4j.logger.org.hibernate.type =所有我得到'[TRACE] - 返回'TestSession - 1'作为列:id3_'和'[TRACE] - 绑定'TestSession - 1'为参数:1' – flixt
您的硬编码示例传入'TestSessionId - 1'查询中的'TestSession - 1'。这可能是问题吗? – Jeremy