¿Por qué es importante? ¿Cuáles son las ventajas según el mapeo XML? ¿Puedes explicar esto? gracias.¿Por qué usamos la anotación de hibernación?
6
A
Respuesta
14
No es algo importante como en "obligatorio". Es una posibilidad diferente, con fuerza y debilidad.
Ventajas:
- tiempo de compilación de cheques: escrito en Java (en lugar de XML) es muy fácil de usar en el IDE de hoy en día. errores tipográficos No más descubierto al iniciar su aplicación (compilación incremental), no hay mucho que recordar (finalización) ...
- localizada con el código (nivel de clase): en lugar de tener que abrir dos archivos (Java y xml) para obtener la historia completa, con un archivo java anotado, usted abra solo un archivo. Esto es menos repetitivo, más rápido a largo plazo.
- Localizado con el código (método o nivel de campo): debido a que la anotación va sobre un método (o campo), no es necesario especificar el método al que pertenece el método . No se proporciona esa información adicional, que es más corta y siempre coherente (incluso después de una refactorización del código, por ejemplo). El mantenimiento es mucho más rápido.
- Las herramientas (javadoc, otras herramientas que usan la reflexión) pueden usar las anotaciones para otros requisitos.
- Las anotaciones son más recientes que las xml, el equipo usó la entrada que habían recibido en ese momento para proporcionar mejores valores predeterminados. Xml tiene algunos, pero no puede cambiar mucho por razones de compatibilidad. A menudo, con la tecnología de anotaciones, no escribe ninguna anotación, y funciona. Imagine el ahorro de tiempo, especialmente durante el desarrollo.
2
No entiendo todo el bombo alrededor de anotación y prefiero HBM por las siguientes razones (Estas razones omiso de las desventajas como errores tipográficos, compilar cheque tiempo para mí):
- preocupaciones separación desde/Responsabilidad única: con HBM tiene todo el material relacionado con ORM en HBM. Lógica de entidad y dominio (independiente de la estructura de la tabla) en la clase java. Su base de datos y java se pueden cambiar de forma independiente (solo HBM debe actualizarse).
- Su código no está lleno de anotaciones. Prefiero solo mirar la lógica del dominio. Las anotaciones añaden mucho ruido.
Si los HBM están bien organizados (un HBM por clase Java, denominación coherente) es fácil navegar entre los dos. La prueba de Junit y algo de disciplina eliminarán la necesidad de verificar el tiempo de compilación. En cuanto a los valores predeterminados, creo que si hibernate no puede funcionar sin anotaciones, debería poder funcionar sin ningún XML (conceptualmente, no sé si esto es realidad)
Cuestiones relacionadas
- 1. ¿Por qué usamos la serialización?
- 2. Ausencia de anotación @Temporal en hibernación
- 3. ¿Por qué usamos Response.ClearHeaders()?
- 4. ¿Por qué usamos web.xml?
- 5. Por qué * debería * usamos EventHandler
- 6. ¿Por qué usamos la interfaz sin miembros?
- 7. ¿Por qué usamos la Finalización en Unidades?
- 8. ¿Por qué exactamente usamos NoSQL?
- 9. ¿Por qué usamos finalmente bloques?
- 10. ¿Por qué usamos "({})" en jQuery?
- 11. ¿por qué usamos el tipo @Master?
- 12. ¿Por qué usamos Virtual y Override?
- 13. ¿Por qué usamos canvas.save o canvas.restore?
- 14. ¿Para qué usamos glyph?
- 15. parámetro esquema de hibernación no funciona en @SequenceGenerator anotación
- 16. ¿Por qué usamos rt.jar en un proyecto de Java?
- 17. Hibernación Anotación para entidad existente en más de 1 catálogo
- 18. ¿Por qué usamos "esto" en los Métodos de extensión?
- 19. ¿Por qué usamos HTML helper en ASP.NET MVC?
- 20. ¿Por qué JPA tiene una anotación @Transient?
- 21. ¿Dónde y por qué usamos __toString() en PHP?
- 22. ¿Por qué usamos [super viewDidLoad] en cada método viewDidLoad?
- 23. Por qué está fallando Java en la anotación @Override
- 24. Plantilla de hibernación de primavera ¿cuándo y por qué?
- 25. ¿Qué es la hibernación con fluidez?
- 26. ¿Para qué usamos CURLOPT_WRITEFUNCTION en PHP cURL?
- 27. Ejecución de la generación de anotación de herramienta de hibernación sin el atributo "catálogo"
- 28. ¿Por qué la aplicación de Android se reinicia si usamos el botón Atrás para salir?
- 29. ¿Qué es la anotación DispId en C#?
- 30. Filtro de Hibernación Programáticamente
"no más tipos" ... oh, la ironía ... – skaffman
@skaffman: lo arregló. Espero que mi comentario de revisión te haga aún más feliz :-) –
@Robert gracias por la revisión, iba a hacerlo yo mismo. – KLE