在我的应用程序中,我使用JPA(使用Hibernate作为JPA Provider)访问数据库。当我尝试运行查询时,系统为我提供了空结果列表。但是当我运行相同查询的SQL表示(从日志中获取)时,它运行正常并提供正确的结果。
有人可以帮助我理解这里可能出现的问题吗?
答案 0 :(得分:1)
问题可能在于参数值。您是否使用需要来自提供程序的某些推断的类型的任何参数(如枚举)?我已经看到了一个复杂的JPQL查询,其中Hibernate 3.3无法推断实体属性的枚举类型(数字或字符串),因为实体属性未使用查询中的实体别名限定(entityAttribute而是of alias.entityAttribute)。枚举被设置为序列化形式的参数。就像@Gimby所说,你可以检查完整的Hibernate日志,看看设置为参数的实际值是什么。