hibernate - JPA 查询不返回与日志中的查询相同的结果
问题描述
我有一个简单的 JPA 查询,我像这样使用它(ProcessDetailCategory 是一个字符串值枚举):
List<ProcessDetail> currentProcessDetails = processDetailRepository.findByProcessIdAndProcessDetailCategoryAndProcessFileNotNull(process.getId(), ProcessDetailCategory.LIST_ELEMENT);
我启用了查询日志记录:
logging.level.org.hibernate.SQL: DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder: TRACE
spring.jpa.show-sql: true
日志说
Hibernate: select processdet0_.id as id1_66_, processdet0_.process_id as process_4_66_, processdet0_.process_detail_category as process_2_66_, processdet0_.process_file_id as process_3_66_, processdet0_.url_link as url_link5_66_ from process_details processdet0_ where processdet0_.process_id=? and processdet0_.process_detail_category=? and (processdet0_.process_file_id is not null)
格式化:
HIBERNATE:
SELECT processdet0_.id AS id1_66_,
processdet0_.process_id AS process_4_66_,
processdet0_.process_detail_category AS process_2_66_,
processdet0_.process_file_id AS process_3_66_,
processdet0_.url_link AS url_link5_66_
FROM process_details processdet0_
WHERE processdet0_.process_id = ?
AND processdet0_.process_detail_category = ?
AND ( processdet0_.process_file_id IS NOT NULL )
当我在数据库上手动运行此查询时,我得到了结果,但 JPA 查询不返回任何结果。不,我没有查询错误的数据库,其他一切都很好。
解决方案
推荐阅读
- continuous-integration - 使用带有 VSTS 的 azure DevOps 的 Angular 6 应用程序中服务文件的 CI CD
- python-2.7 - Python:无头模式拾取旧版本的 chrome
- android-sqlite - 是否可以在 SQLite 中的一行代码中删除多个表?
- c# - 在 dotnet 远程处理和序列化的情况下,哪个集合有用?
- sql - 如果目标表为空,则阻止 SQL 作业运行
- openapi - 如何对 ID 参数和 ID 架构属性使用相同的定义?
- javascript - Flot 根据数据动态显示/隐藏 xaxis 标签
- android - 在 Java 类中访问 Kotlin 中定义的常量
- android - Android 应用链接已通过验证。但是,仍然出现消歧对话框
- r - 执行随机匹配以识别不同表中列之间的关系