Class UtenteID

java.lang.Object
com.modulink.Model.Utente.UtenteID
All Implemented Interfaces:
Serializable

public class UtenteID extends Object implements Serializable
Rappresenta la chiave primaria composta per l'entità 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
    Modifier and Type
    Field
    Description
    private int
    Identificativo numerico dell'azienda (Foreign Key).
    private int
    Identificativo numerico dell'utente.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Costruttore vuoto predefinito.
    UtenteID(int id_utente, int azienda)
    Costruttore parametrico per creare un'istanza della chiave composta.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Verifica l'uguaglianza tra due chiavi composte.
    int
    Restituisce l'ID dell'azienda parte della chiave.
    int
    Restituisce l'ID utente parte della chiave.
    int
    Genera l'hash code per la chiave composta.
    void
    setAzienda(int azienda)
    Imposta l'ID dell'azienda parte della chiave.
    void
    setId_utente(int id_utente)
    Imposta l'ID utente parte della chiave.

    Methods inherited from class Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • id_utente

      private int id_utente
      Identificativo numerico dell'utente.

      Corrisponde all'attributo private int id_utente in UtenteEntity. Questo valore viene solitamente calcolato manualmente (es. MAX ID + 1) in fase di registrazione per garantire la sequenzialità specifica per azienda.

    • azienda

      private int azienda
      Identificativo 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 AziendaEntity a 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

      public boolean equals(Object o)
      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.

      Overrides:
      equals in class Object
      Parameters:
      o - L'oggetto da confrontare con l'istanza corrente.
      Returns:
      true se entrambi i campi (id_utente e azienda) coincidono e l'oggetto è dello stesso tipo.
    • 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 metodo equals(Object).

      Overrides:
      hashCode in class Object
      Returns:
      L'hash code calcolato.
    • 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.