Ho i seguenti modelli di database e le sue proprietà:
- Utente (id, id_guida, nome, email, password)
- Ruolo (id, nome, descrizione, attivo)
- User2Role (user_id, role_id)
- Cliente (id, nome, user_id)
Un utente ha molti ruoli. Un cliente è un utente. Ma un utente non è sempre un cliente (ad esempio amministratore)
Ora, come posso rappresentarlo nel mio livello di dominio?
Esempio 1:
public class User {
private long userID;
private List<Long> roleIds;
private String userName;
private String userEmail;
private String userPassword;
}
Esempio 2:
public class User {
private long userID;
private List<Role> roles;
private String userName;
private String userEmail;
private String userPassword;
}
Lo stesso vale per il cliente, dovrei solo salvare l'id utente nel cliente o creare un oggetto utente e salvare l'oggetto utente nel cliente?