Class ProdottoEntity

java.lang.Object
com.modulink.Model.Prodotto.ProdottoEntity

@Entity public class ProdottoEntity extends Object
Rappresenta l'entità di persistenza per la gestione dei prodotti o articoli di magazzino.

Questa classe mappa la tabella prodotti e utilizza una chiave primaria composta definita da ProdottoID, costituita dall'identificativo locale del prodotto e dal riferimento all'azienda proprietaria. Questa strategia consente a diverse aziende (tenant) di avere ID prodotto sequenziali indipendenti (1, 2, 3...) all'interno dello stesso schema database condiviso.

La gestione della concorrenza e dell'integrità referenziale verso l'azienda è garantita da vincoli Foreign Key con clausola ON DELETE CASCADE.

Since:
1.2.0
Version:
2.0.1
Author:
Modulink Team
See Also:
  • Field Details

    • id_prodotto

      private int id_prodotto
      Identificativo numerico locale del prodotto.

      Parte della chiave primaria composta. Non è univoco a livello globale, ma solo all'interno del contesto definito dall'attributo azienda.

      Since:
      1.2.0
    • azienda

      private AziendaEntity azienda
      Riferimento all'azienda proprietaria del catalogo prodotti.

      Parte della chiave primaria composta (Partition Key). La cancellazione dell'azienda comporta la rimozione a cascata di tutti i suoi prodotti.

      Since:
      1.2.0
    • nome

      private String nome
      Nome commerciale o etichetta identificativa del prodotto.
      Since:
      1.2.0
    • quantita

      private int quantita
      Giacenza attuale in magazzino.

      Rappresenta lo stock fisico disponibile.

      Since:
      1.2.0
    • prezzo

      private double prezzo
      Prezzo unitario di vendita.

      Memorizzato come valore in virgola mobile a doppia precisione.

      Since:
      1.2.0
    • descrizione

      private String descrizione
      Descrizione estesa delle caratteristiche del prodotto.
      Since:
      1.2.0
    • categoria

      private String categoria
      Categoria merceologica di appartenenza.

      Utilizzata per raggruppamenti logici o filtraggio nei report.

      Since:
      1.3.0
  • Constructor Details

    • ProdottoEntity

      public ProdottoEntity()
      Costruttore di default richiesto dalla specifica JPA.
      Since:
      1.2.0
    • ProdottoEntity

      public ProdottoEntity(AziendaEntity azienda, String nome, int quantita, double prezzo, String descrizione, String categoria)
      Costruttore parametrico completo (escluso ID locale).

      L'ID locale viene solitamente calcolato e assegnato dal Service Layer prima della persistenza.

      Parameters:
      azienda - L'azienda proprietaria.
      nome - Nome del prodotto.
      quantita - Quantità iniziale.
      prezzo - Prezzo unitario.
      descrizione - Descrizione opzionale.
      categoria - Categoria merceologica.
      Since:
      1.2.0
  • Method Details

    • getId_prodotto

      public int getId_prodotto()
      Recupera l'ID locale del prodotto.
      Returns:
      Intero ID.
      Since:
      1.2.0
    • setId_prodotto

      public void setId_prodotto(int id_prodotto)
      Imposta l'ID locale del prodotto.
      Parameters:
      id_prodotto - Nuovo ID.
      Since:
      1.2.0
    • getAzienda

      public AziendaEntity getAzienda()
      Recupera l'azienda proprietaria.
      Returns:
      Entità azienda.
      Since:
      1.2.0
    • setAzienda

      public void setAzienda(AziendaEntity azienda)
      Imposta l'azienda proprietaria.
      Parameters:
      azienda - Nuova azienda.
      Since:
      1.2.0
    • getNome

      public String getNome()
      Recupera il nome del prodotto.
      Returns:
      Stringa nome.
      Since:
      1.2.0
    • setNome

      public void setNome(String nome)
      Imposta il nome del prodotto.
      Parameters:
      nome - Nuovo nome.
      Since:
      1.2.0
    • getQuantita

      public int getQuantita()
      Recupera la quantità disponibile.
      Returns:
      Intero quantità.
      Since:
      1.2.0
    • setQuantita

      public void setQuantita(int quantita)
      Imposta la quantità disponibile.
      Parameters:
      quantita - Nuova quantità.
      Since:
      1.2.0
    • getPrezzo

      public double getPrezzo()
      Recupera il prezzo unitario.
      Returns:
      Valore double del prezzo.
      Since:
      1.2.0
    • setPrezzo

      public void setPrezzo(double prezzo)
      Imposta il prezzo unitario.
      Parameters:
      prezzo - Nuovo prezzo.
      Since:
      1.2.0
    • getDescrizione

      public String getDescrizione()
      Recupera la descrizione.
      Returns:
      Stringa descrizione.
      Since:
      1.2.0
    • setDescrizione

      public void setDescrizione(String descrizione)
      Imposta la descrizione.
      Parameters:
      descrizione - Nuova descrizione.
      Since:
      1.2.0
    • getCategoria

      public String getCategoria()
      Recupera la categoria.
      Returns:
      Stringa categoria.
      Since:
      1.3.0
    • setCategoria

      public void setCategoria(String categoria)
      Imposta la categoria.
      Parameters:
      categoria - Nuova categoria.
      Since:
      1.3.0