【发布时间】:2020-11-26 10:18:15
【问题描述】:
我有一个 Spring 数据存储库,方法如下。
Page<FooEntity> findAllByTenantNameAndEventTypeContainingIgnoreCaseAndReferenceContainingIgnoreCaseAndSourceServiceInIgnoreCase( //NOSONAR
String tenantName,
String eventType,
String reference,
List<String> services,
Pageable pageable);
只要字段的值:tenantName、eventType、reference 为空,在 Postgres 中它会返回预期的列表。
但是对于Oracle数据库,它不返回数据。
我知道这是因为 Oracle 在内部将空字符串转换为 null。因此我没有得到任何数据。
如何使这种查询方法同时兼容 Postgres 和 Oracle?
【问题讨论】:
-
您似乎对有意义的方法命名给予的重视是值得称赞的...
findAllByTenantNameAndEventTypeContainingIgnoreCaseAndReferenceContainingIgnoreCaseAndSourceServiceInIgnoreCase -
你在讽刺吗? :D
-
不。这是不常见的,我必须在我以前工作过的地方艰难地学习它(即使我不完全那样做,我仍然认为认真对待它是有价值的)
标签: java oracle postgresql spring-data-jpa