Per progetti web di livello medio-alto, è buona norma separare il tuo dominio (modello) dalla tua logica di presentazione (vista). È possibile fare un ulteriore passo avanti e disporre di un ulteriore livello intermedio in cui è posizionata la logica aziendale (controller). Questo è un modello abbastanza comune nello sviluppo di applicazioni Web conosciute come MVC:
link
Aiuta ad aderire a
link .
Dove ogni livello è responsabile di fare le proprie cose e con la minore dipendenza possibile da altri livelli. Ad esempio, il tuo dominio (bean e così via) la maggior parte delle volte non ha bisogno di sapere molto sulla logica di business che opera su di essa:
( link )
Questo aiuterà nel refactoring, nella manutenzione del codice e nella separazione delle preoccupazioni.
Quello che fa l'JPA per te è che ti dà un modo comune di affrontare la persistenza, che è ben noto alla maggior parte degli sviluppatori JEE. Il supporto offerto da Eclipse e il modo in cui i bean JPA sono confezionati è per lo più irrilevante sul motivo per cui gli sviluppatori scelgono di separare tali progetti, ma ciò, ovviamente, si presenta come un vantaggio.
Penso che gli sviluppatori che lavoravano nella tua azienda fossero più preoccupati di seguire schemi di progettazione, separazione delle preoccupazioni, facilità di manutenzione quando hanno preso le loro decisioni, piuttosto che supporto IDE e problemi di packaging. E penso anche che dovresti seguire la loro decisione, a meno che tu non stia sviluppando un progetto molto piccolo e in un tempo molto breve e non ti interessi dei benefici derivanti dall'avere progetti separati che ho elencato.