In einer Viele-zu-Viele-Beziehung zwischen zwei Tabellen mit einer Mapping-Tabelle dazwischen, wie kann ich nur IDs für die zweite Entität laden.Wie lade ich nur IDs von vielen zu vielen Mappingtabellen?
Das folgende Beispiel soll erklären, was ich hier erreichen möchte. Unten finden Sie eine Beispielschema
create table user(
id int PrimaryKey,
name text
)
create table pages (
id int PrimaryKey,
page_name text
)
create table user_page (
id_user int,
id_page int,
PrimaryKey (id_user, id_page)
)
Hinweis: Es gibt zusätzliche Spalten in Benutzer- und Seitentabellen, die ich hier nicht der Kürze halber aufgenommen haben.
Benutzer Einheit:
@Entity
@Table(name = "user")
public class User {
@id
@column(name="id")
private Integer id;
@column(name="name")
private String name;
...
...
}
@Entity
@Table(name = "page")
public class Page {
@id
@column(name="id")
private Integer id;
@column(name="page_name")
private String name;
...
...
}
Was ich will, ist ein weiteres Attribut tun hinzufügen Set<Integer> pageIds
in User
Klasse und haben alle Seiten-IDs für einen Benutzer in dieser Sammlung abgebildet.
Wie kann dies mit Hibernate geschehen?
Gibt es eine Möglichkeit, nur Ids in einem Set laden können, ohne Page-Klasse zu verwenden? d. h. ein weiteres Attribut Set zur Benutzerklasse hinzufügen, die alle IDs hat? –
Meine Antwort wurde aktualisiert. – lunr