Anotación Hibernate o configuración XML

He comenzado un nuevo proyecto con Hibernate . ¿La anotación de Hibernate es una mejor opción o es mejor la asignación de Hibernate XML?

He usado Hibernate con la configuración XML, pero no tengo idea sobre la anotación.

  1. ¿Hay algún problema al ir a la implementación basada en anotaciones?
  2. ¿El mantenimiento de una aplicación es más fácil o más complicado con anotaciones?
  3. ¿Cuál es mejor (es decir, anotación o mapeo XML) y cuál es ampliamente utilizado? ¿Por qué?
  4. Si utilizo una base de datos diferente en un nivel diferente, es decir, producción o integración o nivel de desarrollo, ¿tengo que cambiar el código?

Nota: No estoy comparando dos tecnologías, pero quiero saber cuál (es decir, de dos formas) para usar en la aplicación con la última tecnología.

Las anotaciones son una mejor opción para una nueva aplicación, ya que libera la aplicación de los archivos XML. También es menos código y el mantenimiento es fácil. También ayuda a refactorizar la aplicación (con IDE como Eclipse / NetBeans, etc.), que es el problema con XML ya que necesita cambiarlo manualmente.

Respuestas

  1. Sin problemas, puede usar la última JSR 330 API (dependency injection para Java) que ayuda a la misma anotación para un bean administrado JSF (use @Named lugar de @managedbean ), la capa Spring IoC e Hibernate, para que toda la capa tendrá un concepto de anotación único en lugar de un marco específico.

  2. El mantenimiento es fácil, especialmente la refacturación del código, menos o ningún archivo XML y nuevo aprendizaje. Use la anotación basada en JPA con Hibernate. Puedes encontrar alguna muestra en google.

  3. Utiliza ampliamente XML porque estuvo allí desde el principio, pero para una nueva aplicación la anotación es mejor y es más madura.

  4. Para cambiar a cualquier base de datos, el código seguirá siendo el mismo en anotación o XML, solo debe cambiar los valores del archivo de propiedad.

Las anotaciones son más recientes y son la forma estándar de hacer las aplicaciones de JPA.

Los encuentro más fáciles de usar que XML, pero es una cuestión de gusto y experiencia. Usarlos te haría

  • Aprende algo nuevo
  • listo para comenzar un proyecto basado en JPA (que podría usar otra implementación)

Nunca he estado en una situación en la que necesitaba XML porque las anotaciones no me permitían hacer lo que quería.

Antes de la anotación, solo había una forma de hacerlo: XML. Si usa la anotación, tendrá todo en un solo lugar, por lo tanto, será más fácil comprenderlo y mantenerlo.