Вот Мои многие-ко-многие коллекции:Как сохранить коллекцию многих ко многим в JPA2, если у меня есть только ID?
@ManyToMany
@JoinTable(name="affiliated_databases",
joinColumns=
@JoinColumn(name="database_id", referencedColumnName="id"),
inverseJoinColumns=
@JoinColumn(name="affiliated_database_id", referencedColumnName="id")
)
public Set<Database> affiliatedOrgs;
И в моем методе класса обслуживания У меня есть только идентификаторы этой коллекции. Есть ли хорошее решение для сохранения этой коллекции, не читая ее элементы из базы данных?
Я пытаюсь сделать что-то вроде этого:
for (Long affId: affIds) {
Database affDatabase = new Database();
affDatabase.setId(affId);
target.getAffiliatedOrgs.add(affDatabase);
}
dao.save(target);
Это работа, но 1) это выглядит для меня как-то не элегантно; 2) он может создавать ошибки, если этот целевой объект будет где-то использоваться в будущем ... Или, может быть, это хорошее решение, и мои сомнения напрасны?
Итак, есть более элегантный способ сохранить эту коллекцию, не читая все ее объекты из БД и не вызывая ошибок в будущем.