Каков правильный способ предоставления управляемых объектов JPA в моделях объектов Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Каков правильный способ предоставления управляемых объектов JPA в моделях объектов Java?

Сообщение Anonymous »

Предположим, у меня есть модель с отношениями «многие ко многим» или «многие к одному». Этой модели хотелось бы этого:

Код: Выделить всё

@Entity
public class A {
// other fields ...

@OneToMany(...)
private List bEntities = new ArrayList();

}
Не было бы смысла использовать метод установки для этого списка, но нам понадобится метод получения, чтобы иметь возможность изменять список:

Код: Выделить всё

public List getBEntities() { return bEntities; }
Однако в данном случае SpotBug жалуется на

Код: Выделить всё

EI_EXPOSE_REF: A.getBEntities() may expose internal representation by returning A.bEntities
Я мог бы отобразить все отношения CRUD в модели, например:

Код: Выделить всё

addB();
findBById();
// and so on and so forth
но это не только по-прежнему будет раскрывать объекты B, но и, насколько я понимаю, не будет нести ответственность за модель. Каков правильный способ сделать это? Должен ли я просто отключить предупреждение для объектов, управляемых JPA?

Подробнее здесь: https://stackoverflow.com/questions/797 ... ity-models

Вернуться в «JAVA»