Class ProdottoEntity
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 Summary
FieldsModifier and TypeFieldDescriptionprivate AziendaEntityRiferimento all'azienda proprietaria del catalogo prodotti.private StringCategoria merceologica di appartenenza.private StringDescrizione estesa delle caratteristiche del prodotto.private intIdentificativo numerico locale del prodotto.private StringNome commerciale o etichetta identificativa del prodotto.private doublePrezzo unitario di vendita.private intGiacenza attuale in magazzino. -
Constructor Summary
ConstructorsConstructorDescriptionCostruttore di default richiesto dalla specifica JPA.ProdottoEntity(AziendaEntity azienda, String nome, int quantita, double prezzo, String descrizione, String categoria) Costruttore parametrico completo (escluso ID locale). -
Method Summary
Modifier and TypeMethodDescriptionRecupera l'azienda proprietaria.Recupera la categoria.Recupera la descrizione.intRecupera l'ID locale del prodotto.getNome()Recupera il nome del prodotto.doubleRecupera il prezzo unitario.intRecupera la quantità disponibile.voidsetAzienda(AziendaEntity azienda) Imposta l'azienda proprietaria.voidsetCategoria(String categoria) Imposta la categoria.voidsetDescrizione(String descrizione) Imposta la descrizione.voidsetId_prodotto(int id_prodotto) Imposta l'ID locale del prodotto.voidImposta il nome del prodotto.voidsetPrezzo(double prezzo) Imposta il prezzo unitario.voidsetQuantita(int quantita) Imposta la quantità disponibile.
-
Field Details
-
id_prodotto
private int id_prodottoIdentificativo 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
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
-
quantita
private int quantitaGiacenza attuale in magazzino.Rappresenta lo stock fisico disponibile.
- Since:
- 1.2.0
-
prezzo
private double prezzoPrezzo unitario di vendita.Memorizzato come valore in virgola mobile a doppia precisione.
- Since:
- 1.2.0
-
descrizione
-
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
Recupera l'azienda proprietaria.- Returns:
- Entità azienda.
- Since:
- 1.2.0
-
setAzienda
Imposta l'azienda proprietaria.- Parameters:
azienda- Nuova azienda.- Since:
- 1.2.0
-
getNome
-
setNome
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
-
setDescrizione
Imposta la descrizione.- Parameters:
descrizione- Nuova descrizione.- Since:
- 1.2.0
-
getCategoria
-
setCategoria
Imposta la categoria.- Parameters:
categoria- Nuova categoria.- Since:
- 1.3.0
-