【问题标题】:Spring data rest repository keyword ORSpring数据休息存储库关键字或
【发布时间】:2015-04-19 19:46:31
【问题描述】:
我有一个对象,其属性名称中包含 OR。
Or 也是 spring data rest 中的一个关键字,用于连接存储库中的属性表达式。
我有一个名为 Instance 的对象,其属性为 instanceOrUrlId。
我希望能够通过使用此属性进行搜索来查询实例。
通常我会说:
findInstanceByInstanceOrUrlId。
如何指定 OR 在属性中并且不用于组合属性?
【问题讨论】:
标签:
spring
spring-boot
spring-data
【解决方案1】:
你不使用 JPQL Query 和 spring 数据存储库如下:
@Query("SELECT messageEntity FROM StandardMessageEntity messageEntity " +
" WHERE messageEntity.standardMessageKey.messageType = :instanceOrUrlId" +
" AND messageEntity.activeMessage = true")
List<StandardMessageEntity> findInstanceByInstanceOrUrlId(@Param("instanceOrUrlId") String instanceOrUrlId);
以上只是示例,只需创建一个方法并使用@Query 定义一个jpql 查询,就可以了。使用你想要的方法的名称,然后使用你想要的属性创建选择,使用@Param在其上设置命名参数,你可以根据需要接收List<Entity>或Entity。