2010-09-02 10 views
5

He visto muchos tutoriales donde el hibernate se implementa usando anotaciones (básicamente anotaciones de hibernación o anotaciones JPA). Hay un tutorial que se centra principalmente en el uso de los archivos de configuración de hibernación (archivos hbm.xml). Sin uso de anotaciones en absoluto.hibernate usando anotaciones o usando archivos de configuración de hibernación

Ahora estoy un poco confundido, ¿cuál es el mejor enfoque?

Respuesta

8

Definitivamente prefiero usar anotaciones para definir mis metadatos de mapeo. Y, en realidad, las anotaciones son el enfoque recomendado por los desarrolladores de Hibernate. Citando Gavin King en More XML than code?

Por supuesto, Anotaciones de Hibernate ha existido desde principios de 2005 y ya no hay ninguna buena razón para que las personas definen las asignaciones en XML.

Pros:

  • anotaciones son típicamente menos detallado
  • anotaciones viven con el código, que son más fáciles de mantener (OMI)

Contras:

  • Cambiar los metadatos requiere una recompilación (si esto es realmente un problema)

En otras palabras, use anotaciones si puede. Si no puede (no puede cambiar el código, por ejemplo, cuando trabaja con código heredado), use asignaciones de XML.

0

Esto depende de sus "me gusta". Por ejemplo, prefiero anotar las clases para definiendo cuáles son las claves primarias, qué valores se autogeneran y qué relaciones tienen las entidades. También utilizo el archivo de configuración persistence.xml en el que defino cómo se mapean las entidades en la base de datos. Así que separé la vista del programador del modelo de dominio por la del ingeniero de bases de datos.

0

También prefiero el enfoque de anotación, porque me gusta ver las clases y sus configuraciones de base de datos en un solo lugar. Esta es, por otro lado, la mayor ventaja de usar archivos de configuración: no es necesario que toque las clases de Java.

1

Depende de usted! No creo que haya un mejor enfoque. Ambas soluciones están dedicadas a lo mismo, es decir, ayudan a Hibernate a comprender cómo está estructurada su base de datos. Las anotaciones tienen la ventaja de estar directamente disponibles en su archivo de clase Entity Java.

Hubo un tiempo en que XML se consideraba un estándar para definir la información de configuración. Desde Java 5, mucha información ubicada inicialmente en estos archivos XML ahora se almacena directamente en las clases, usando las anotaciones. Por ejemplo, Spring 3.x framework o Java EE 6 ahora usa anotaciones.

Cuestiones relacionadas