Условия для коллекции JPA OneToMany
Если у меня есть этот объект:
@Entity
class Pet {
@Id
long id;
public enum State { ALIVE, DEAD }
@Enumerated(EnumType.STRING)
@...
State state;
@...
String name;
}
Могу ли я создать сопоставление следующим образом:
@Entity
class Owner {
@OneToMany(condition="state = ALIVE") // or something like that
Set<Pet> alivePets;
@OneToMany(condition="state = DEAD")
Set<Pet> deadPets;
}
Ответы
Ответ 1
Насколько я знаю, это не часть спецификации JPA. По крайней мере, реализация JPA с использованием Hibernates предоставляет собственную аннотацию @Where
, которая может быть использована:
@OneToMany
@Where(clause = "state = 'ALIVE'")
Set<Pet> alivePets