在我的应用程序中,我使用 JPA (使用 Hibernate 作为 JPA 提供程序)访问数据库。当我尝试运行查询时,系统为我提供了空结果列表。但是,当我运行同一查询的 SQL 表示形式(从日志中获取)时,它运行良好并为我提供了正确的结果。
有人可以帮助我了解这里可能出现的问题吗?
最佳答案
问题可能出在参数值上。您是否使用任何需要提供者进行推断的类型参数(例如枚举)?我见过一个复杂的 JPQL 查询,Hibernate 3.3 无法推断实体属性的枚举类型(数字或字符串),因为实体属性未使用查询中的实体别名进行限定(而使用实体属性的alias.entityAttribute)。枚举以其序列化形式设置为参数。就像 @Gimby 所说,您可以检查完整的 Hibernate 日志以查看设置为参数的实际值是什么。
关于java - JPQL 未给出结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21754562/