Я очень новичок в спящем режиме, поэтому не знаю, что искать. Я нашел несколько примеров, которые используют @Where
со статическими запросами, но я даже не мог выразить это правильно.
Я надеюсь, что у этого есть простое решение, которое я могу понять. Для двух классов A
и B
, как показано ниже, B
имеет два поля, относящихся к одному A
, а затем необязательный список A
с. Я хочу исключить этот сингл A
из списка необязательных.
@Entity
public class A {
@Id
private int id;
@ManyToOne
@JoinColumn(name="b_id")
private B b;
private String x;
private double y;
// getters and setters are omitted
}
@Entity
public class B {
@Id
private int id;
private String name;
@oneToOne
private A mainA;
@OneToMany(mappedBy="b", cascade=CascadeType.ALL)
private List<A> optionalAs = new ArrayList<>();
}
В нынешнем виде optionalAs
включает в себя все A
s, связанные с B
. Я хочу, чтобы список optionalAs
исключал mainA
, желательно без явного удаления его из списка.
Есть ли способ выразить это аннотациями?