Class UtenteID
- All Implemented Interfaces:
Serializable
UtenteEntity.
In questa architettura, un utente è univocamente identificato dalla coppia:
- ID Azienda: Il contesto aziendale di appartenenza.
- ID Utente: Un numero sequenziale (es. 1, 2, 3...) univoco solo all'interno di quell'azienda.
Regola di Mapping JPA (@IdClass):
I nomi dei campi definiti in questa classe devono corrispondere esattamente
ai nomi degli attributi annotati con @Id nella classe UtenteEntity.
La classe implementa Serializable come richiesto obbligatoriamente dalle specifiche JPA
per le classi utilizzate come identificatori composti.
- Version:
- 1.0.9
- Author:
- Modulink Team
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanVerifica l'uguaglianza tra due chiavi composte.intRestituisce l'ID dell'azienda parte della chiave.intRestituisce l'ID utente parte della chiave.inthashCode()Genera l'hash code per la chiave composta.voidsetAzienda(int azienda) Imposta l'ID dell'azienda parte della chiave.voidsetId_utente(int id_utente) Imposta l'ID utente parte della chiave.
-
Field Details
-
id_utente
private int id_utenteIdentificativo numerico dell'utente.Corrisponde all'attributo
private int id_utenteinUtenteEntity. Questo valore viene solitamente calcolato manualmente (es. MAX ID + 1) in fase di registrazione per garantire la sequenzialità specifica per azienda. -
azienda
private int aziendaIdentificativo numerico dell'azienda (Foreign Key).ATTENZIONE: Il nome di questo campo deve essere "azienda" (e non "id_azienda") perché deve coincidere con il nome dell'attributo di relazione nella Entity:
private AziendaEntity azienda;.JPA si occupa automaticamente di mappare la Primary Key dell'oggetto
AziendaEntitya questo valore intero durante le operazioni di persistenza.
-
-
Constructor Details
-
UtenteID
public UtenteID()Costruttore vuoto predefinito.Richiesto obbligatoriamente dalle specifiche JPA per l'istanziazione tramite reflection (es. durante il caricamento da database).
-
UtenteID
public UtenteID(int id_utente, int azienda) Costruttore parametrico per creare un'istanza della chiave composta.Utile per istanziare chiavi per ricerche `findById` o riferimenti.
- Parameters:
id_utente- L'ID sequenziale dell'utente.azienda- L'ID dell'azienda di appartenenza.
-
-
Method Details
-
equals
Verifica l'uguaglianza tra due chiavi composte.Fondamentale per il corretto funzionamento di Hibernate quando l'entità viene inserita in Collezioni (es.
Set) o gestita nella Cache di primo livello. Confronta sia l'ID utente che l'ID azienda. -
hashCode
public int hashCode()Genera l'hash code per la chiave composta.Utilizza
Objects.hash(Object...)per combinare i due identificativi, garantendo una distribuzione uniforme e la coerenza con il metodoequals(Object). -
getId_utente
public int getId_utente()Restituisce l'ID utente parte della chiave.- Returns:
- L'intero dell'ID utente.
-
setId_utente
public void setId_utente(int id_utente) Imposta l'ID utente parte della chiave.- Parameters:
id_utente- Il nuovo ID utente.
-
getAzienda
public int getAzienda()Restituisce l'ID dell'azienda parte della chiave.- Returns:
- L'intero rappresentante la chiave primaria dell'azienda.
-
setAzienda
public void setAzienda(int azienda) Imposta l'ID dell'azienda parte della chiave.- Parameters:
azienda- Il nuovo ID azienda.
-