Sto sviluppando un'applicazione Web che utilizza un'architettura a livelli. Ho:È una cattiva pratica usare gli oggetti entità su tutti i livelli di un'applicazione web?
- Application Layer (Controller)
- Servizio strato (Servizi)
- strato di accesso ai dati (DAO)
che si collega a un database Oracle back-end.
Sto usando JPA con Hibernate come implementazione. Creo quindi entità per modellare la vista dell'oggetto delle mie tabelle di database relazionali.
La mia domanda è ... È considerata una cattiva pratica utilizzare questi oggetti entità su tutti e 3 i miei livelli?
So che deve essere utilizzato almeno dal livello di accesso ai dati, ma che cosa si può dire al di là del livello di servizio &?
Ho visto alcune persone utilizzare DTO nei livelli di applicazione & e fanno la conversione tra DTO ed entità tra i livelli di Accesso ai dati del servizio &.
Basta chiedersi qual è la migliore pratica per questo e quale dovrebbe essere l'approccio migliore?
L'ambito appropriato/la durata di vita di un'entità spesso dipende dalla durata/portata del suo gestore di entità.Possono essere obsoleti al di fuori dell'ambito del gestore ma eliminarli troppo presto e non è possibile utilizzare in modo efficace la cache di primo livello del gestore. Non esiste un approccio a taglia unica. Quello che dovresti fare sarà dettato dalla scelta della piattaforma, dal modo in cui JPA è integrato e dai requisiti. – McDowell