Hier ist mein many-to-many-Sammlung:Wie beibehalten viele-zu-viele Sammlung in JPA2, wenn ich nur IDs habe?
@ManyToMany
@JoinTable(name="affiliated_databases",
joinColumns=
@JoinColumn(name="database_id", referencedColumnName="id"),
inverseJoinColumns=
@JoinColumn(name="affiliated_database_id", referencedColumnName="id")
)
public Set<Database> affiliatedOrgs;
Und in meiner Dienstklasse Methode, die ich nur IDs dieser Sammlung habe. Gibt es eine gute Lösung, um diese Sammlung beizubehalten, ohne ihre Elemente aus der Datenbank zu lesen?
Ich versuche, so etwas zu tun:
for (Long affId: affIds) {
Database affDatabase = new Database();
affDatabase.setId(affId);
target.getAffiliatedOrgs.add(affDatabase);
}
dao.save(target);
Es Arbeit ist, aber 1) ist es für mich sieht irgendwie nicht elegant; 2) kann es möglicherweise Fehler verursachen, wenn dieses Zielobjekt irgendwo in der Zukunft benutzt wird ... Oder ist es vielleicht eine gute Lösung und meine Zweifel sind eitel?
So gibt es elegantere Möglichkeit, diese Sammlung zu erhalten, ohne alle Objekte von DB zu lesen und in Zukunft keine Fehler zu provozieren.