Мне нужно заполнить сущность с детьми организациями, и хорошо работает, когда мне нужны все дети, но теперь я только хочу иметь несколько.
Например, у меня Owner 1-----n Pet
Если я ownerRepositoty.findAll()
; Я получаю все владельцы с каждым, имеющий массив всех домашних животных. Но скажем, я хочу получить все владельцы с массивом PET, имея только те, которые начинается с N.
Пример родительской организации:
public class Owner {
@OneToMany(mappedBy="Owner")
private Set<Pet> pets; //This gets filled with all pets
//getters & setters
}
И детская сущность:
public class Pet {
@ManyToOne
@JoinColumn(name="owner_id", nullable=false)
private Owner owner;
//getters & setters
}
Я попробовал с JOIN FETCH
, как объяснил здесь в запросе репозитория, но он только что сделал обычный SQL {{x1 }} Что не то, что я ищу.
Любые идеи?
1 ответ
Я нашел способ сделать это: Вы можете использовать аннотацию @ge для фильтрации ребенков one to many
или many to many
отношений.
public class Owner {
@OneToMany(mappedBy="Owner")
@Where(clause = "name like 'N%'")
private Set<Pet> pets; //This gets filled with pets with a name starting with N
//getters & setters
}
Похожие вопросы
Связанные вопросы
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.