#spring #jpa
Вопрос:
Я хотел бы использовать интерфейс findAll(Example<S> example)
репозитория JPA.
В классе сущностей, который я делаю findAll()
, есть две ссылки на другие сущности. Любой из них равен нулю.
class Entity {
String name;
EntityA referenceEntityA;
EntityB referenceEntityB;
}
class EntityA {
String nameA;
}
class EntityB {
String nameB;
}
экземпляры выглядят так:
new Entity(name:'MainEntity',refA: null, refB:new EntityB(nameB:'refB'))
new Entity(name:'MainEntity',refA: new EntityA(nameA:'refA'), refB: null)
Теперь я хотел бы найти все сущности, соответствующие моему примеру, в котором я хочу выполнить логическое ИЛИ (или внешнее соединение) для указанных сущностей.
Entity probe=new Entity(name:'M',refA: new EntityA(nameA:'ref'), refB: new EntityB(nameB:'ref')
jpaRepository.findAll(Example.of(probe, ExampleMatcher.matchingAny().withStringMatcher(ExampleMatcher.StringMatcher.STARTING)))
Если я установлю обе ссылки в своем экземпляре зонда, функция findAll всегда возвращает значение null, так как ни у одной сущности не установлены обе ссылки.
Есть ли способ использовать пример api в таком сценарии ?
Спасибо, детлеф