我有一个对象,其属性在名称中包含OR。 或者也是spring数据休息中的关键字,用于连接存储库中的属性表达式。
我有一个名为Instance的对象,其属性为instanceOrUrlId。
我希望能够通过使用此属性进行搜索来查询实例。 通常我会把: findInstanceByInstanceOrUrlId。
如何指定OR在属性中并且不用于组合属性?
答案 0 :(得分:1)
您不使用JPQL查询与弹簧数据存储库如下:
@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
,如你所愿。