Условия для коллекции 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