Annotazione Hibernate o configurazione XML

Ho iniziato un nuovo progetto con Hibernate . L’annotazione Hibernate è una scelta migliore o il mapping Hibernate XML è migliore?

Ho usato Hibernate con la configurazione XML, ma non ho idea di annotazioni.

  1. ci sono problemi durante l’implementazione basata sull’annotazione?
  2. il mantenimento di un’applicazione è più facile o più complicato con l’annotazione basata?
  3. qual è il migliore (cioè annotazione o mapping XML) e quale è ampiamente utilizzato? Perché?
  4. Se utilizzo un database diverso a un livello diverso, ovvero di produzione o integrazione o livello di sviluppo, devo passare al cambio di codice?

Nota: non sto confrontando due tecnologie, ma voglio sapere quale (ovvero, in due modi) essere utilizzato nell’applicazione con la tecnologia più recente.

Le annotazioni sono una scelta migliore per una nuova applicazione, poiché rende l’applicazione libera da file XML. È anche meno codice e la manutenzione è facile. Aiuta anche per il refactoring dell’applicazione (con IDE come Eclipse / NetBeans, ecc.), Che è il problema con XML poiché è necessario modificarlo manualmente.

risposte:

  1. Nessun problema, puoi utilizzare l’ultima API JSR 330 (dependency injection per Java) che aiuta la stessa annotazione per un bean gestito JSF (usa @Named invece di @managedbean ), il Spring IoC layer e Hibernate, in modo che tutto lo strato tu avrà un singolo concetto di annotazione invece di un framework specifico.

  2. La manutenzione è facile, soprattutto per il refactoring del codice, meno o nessun file XML e nuovi apprendimenti. Usa annotazione basata su JPA con Hibernate. Puoi trovare qualche esempio in google.

  3. Ampiamente utilizzare XML basato poiché era lì dall’inizio, ma per una nuova annotazione dell’applicazione è meglio che è più maturo.

  4. Per la modifica di qualsiasi database, il codice rimarrà lo stesso in annotazione o XML, solo è necessario modificare i valori del file di proprietà.

Le annotazioni sono più recenti e rappresentano il modo standard per le applicazioni JPA.

Li trovo più facili da usare rispetto all’XML, ma è una questione di gusti ed esperienza. Usarli li renderebbe

  • impara qualcosa di nuovo
  • pronto per avviare un progetto basato su JPA (che potrebbe utilizzare un’altra implementazione)

Non sono mai stato in una situazione in cui avevo bisogno di XML perché le annotazioni non mi permettevano di fare ciò che volevo.

Prima dell’annotazione c’era solo un modo per farlo: XML. Se si utilizza l’annotazione, si avrà tutto in un unico posto, pertanto la comprensione e la manutenzione saranno più semplici.