Class RuoloID

java.lang.Object
com.modulink.Model.Ruolo.RuoloID
All Implemented Interfaces:
Serializable

public class RuoloID extends Object implements Serializable
Classe che definisce la struttura della chiave primaria composta per l'entità RuoloEntity.

In accordo con le specifiche JPA 3.x, quando un'entità utilizza una chiave composta derivata da relazioni (es. @ManyToOne che fa parte dell'ID), è necessario definire una classe ID corrispondente.

La scelta di una chiave composta (ID Ruolo + ID Azienda) abilita lo schema Multi-Tenancy a livello di applicazione, permettendo la duplicazione degli ID sequenziali dei ruoli attraverso diversi tenant.

Since:
1.0.0
Version:
1.5.0
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 locale del ruolo.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Costruttore predefinito (No-Args).
    RuoloID(int id_ruolo, int azienda)
    Costruttore parametrico per la creazione diretta di istanze della chiave.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Verifica l'uguaglianza logica tra due istanze di chiave composta.
    int
    Recupera l'identificativo dell'azienda.
    int
    Recupera l'identificativo del ruolo.
    int
    Calcola il codice hash univoco per la chiave composta.
    void
    setAzienda(int azienda)
    Imposta l'identificativo dell'azienda.
    void
    setId_ruolo(int id_ruolo)
    Imposta l'identificativo del ruolo.

    Methods inherited from class Object

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

    • id_ruolo

      private int id_ruolo
      Identificativo numerico locale del ruolo.

      Corrisponde all'attributo id_ruolo dell'entità RuoloEntity. Il nome del campo deve coincidere esattamente con quello della classe Entity.

      Since:
      1.0.0
    • azienda

      private int azienda
      Identificativo numerico dell'azienda (Foreign Key).

      Corrisponde all'attributo di relazione azienda dell'entità RuoloEntity. Anche se nell'entità è un oggetto, qui viene mappato come tipo primitivo (int) corrispondente al tipo della Primary Key dell'entità target (AziendaEntity).

      Since:
      1.0.0
  • Constructor Details

    • RuoloID

      public RuoloID()
      Costruttore predefinito (No-Args).

      Essenziale per permettere al provider JPA (Hibernate) di istanziare la classe durante le operazioni di caricamento (Lazy Loading) o merge.

      Since:
      1.0.0
    • RuoloID

      public RuoloID(int id_ruolo, int azienda)
      Costruttore parametrico per la creazione diretta di istanze della chiave.
      Parameters:
      id_ruolo - L'ID numerico del ruolo.
      azienda - L'ID numerico dell'azienda associata.
      Since:
      1.0.0
  • Method Details

    • equals

      public boolean equals(Object o)
      Verifica l'uguaglianza logica tra due istanze di chiave composta.

      Il confronto avviene per valore su entrambi i campi costitutivi (id_ruolo e azienda). Fondamentale per il corretto funzionamento delle Collection Java e delle Cache di secondo livello di Hibernate.

      Overrides:
      equals in class Object
      Parameters:
      o - L'oggetto da confrontare.
      Returns:
      true se gli oggetti sono strutturalmente identici, false altrimenti.
      Since:
      1.0.0
    • hashCode

      public int hashCode()
      Calcola il codice hash univoco per la chiave composta.

      Utilizza Objects.hash(Object...) per generare un hash consistente basato sui valori dei campi id_ruolo e azienda.

      Overrides:
      hashCode in class Object
      Returns:
      Valore intero dell'hash.
      Since:
      1.0.0
    • getId_ruolo

      public int getId_ruolo()
      Recupera l'identificativo del ruolo.
      Returns:
      L'ID intero del ruolo.
      Since:
      1.0.0
    • setId_ruolo

      public void setId_ruolo(int id_ruolo)
      Imposta l'identificativo del ruolo.
      Parameters:
      id_ruolo - Il nuovo ID intero.
      Since:
      1.0.0
    • getAzienda

      public int getAzienda()
      Recupera l'identificativo dell'azienda.
      Returns:
      L'ID intero dell'azienda.
      Since:
      1.0.0
    • setAzienda

      public void setAzienda(int azienda)
      Imposta l'identificativo dell'azienda.
      Parameters:
      azienda - Il nuovo ID intero dell'azienda.
      Since:
      1.0.0