2015-02-18 2 views
0

У меня есть объект с атрибутом, который содержит OR в имени. Или также ключевое слово в режиме отдыха данных весны, которое используется для конкатенации выражений свойств в репозиториях.Ключевое слово репозитория данных весны данных ИЛИ

У меня есть объект, называемый экземпляром с атрибутом instanceOrUrlId.

Я хочу иметь возможность запросить экземпляр, выполнив поиск с помощью этого атрибута. Обычно я бы просто положил: findInstanceByInstanceOrUrlId.

Что я могу сделать, чтобы указать, что OR находится в свойстве и не используется для объединения свойств?

ответ

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, как вы хотите.

+0

Спасибо, что это сработало отлично –

Смежные вопросы