2011-08-22 21 views
19

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?Anotación Hibernate o configuración XML

He utilizado Hibernate con configuración XML, pero no tengo idea acerca de la anotación.

  1. ¿Existen problemas mientras se implementa la anotación?
  2. ¿El mantenimiento de una aplicación es más fácil o más complicado con la anotación?
  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 maneras) para utilizar en la aplicación con la última tecnología.

Respuesta

20

Las anotaciones son una mejor opción para una nueva aplicación, ya que hace que la aplicación esté libre de 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. No hay ningún problema, puede utilizar la última JSR 330 API (inyección de dependencias para Java), que ayuda a la misma anotación para una JSF administrados frijol (utilizar @Named en lugar de @managedbean), el SpringIoC capa e Hibernar, por lo que toda la capa tendrá un único concepto de anotación en lugar de un marco específico.

  2. El mantenimiento es fácil, especialmente la refactorización de código, menos o sin archivos XML y nuevos aprendizajes. Use la anotación basada en JPA con Hibernate. Puedes encontrar alguna muestra en google.

  3. Ampliamente utilizado basado en XML, ya que estaba allí desde el principio, pero para una nueva aplicación, la anotación es mejor, que 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.

8

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

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

  • aprender algo nuevo
  • listo para iniciar un proyecto basado en JPA (que podría utilizar otra aplicació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.

+0

gracias por la respuesta. no tenemos planeado usar JPA. aprender nuevo es diferente a proponer una mejor tecnología para una larga vida del proyecto. – TechFind

+0

Hibernate es una implementación de JPA. Las anotaciones utilizadas por Hibernate son anotaciones JPA. –

+1

@JBNizet ¿hay alguna diferencia de rendimiento con XML o anotaciones en una aplicación de Spring? – kamaci

1

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.

Cuestiones relacionadas