In una relazione Molti a Molti tra due tabelle con una tabella di mappatura intermedia, come posso caricare solo ID per la seconda entità.Come caricare solo ID da molte a molte tabelle di mapping?
Di seguito è riportato l'esempio per spiegare cosa voglio ottenere qui. Di seguito è riportato uno schema di esempio
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)
)
Nota: ci sono colonne aggiuntive in tabelle utente e la pagina che non ho incluso qui per brevità.
entità User:
@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;
...
...
}
Quello che voglio fare è aggiungere un altro attributo Set<Integer> pageIds
in User
classe e di avere tutti gli ID di pagina mappati per un utente in questa collezione.
Come può essere fatto utilizzando Hibernate?
C'è un modo posso caricare solo Ids in un insieme senza utilizzare classe pagina? Ad esempio, aggiungi un altro attributo Set alla classe User che ha tutti gli id? –
Aggiornato la mia risposta. – lunr