Рассмотрим:
@Entity
public class M {
@ManyToMany
private List<E> es = new ArrayList<E>();
private E newE;
public M(E newE) {
this.newE = newE;
es.add(newE);
}
Не могу ли я assert(m.newE == m.getEs(0))
?
Я мог бы только если после перезагрузки приложения / ПУ есть:
public List<E> getEs() {
final int indexOf = es.indexOf(newE);
if (indexOf != 0) {
es.remove(indexOf);
es.add(0, newE);
}
return Collections.unmodifiableList(es);
}
Однако этот обременительный код даже неэффективен, так как он заставляет загружать права E из PU до того, как они действительно могут понадобиться. Любая альтернатива, которая работает?