Sé que en algunas versiones las excepciones de Hibernate se cambiaron para desmarcarlas. ¿cual es la razon? ¿Es este un tema de filosofía o práctico?por qué Hibernate cambió HibernateException a (sin marcar) RuntimeException
Respuesta
Práctico. Por lo tanto, no tiene que ajustar todas sus operaciones con respecto a Hibernate en los bloques de captura de prueba.
Tomado de Java Persistence con Hibernate:
Una historia de excepciones - Excepciones y cómo deben ser manejados siempre fin en encendidos debates entre Java desarrolladores. No es de extrañar que Hibernate también tenga una historia digna de mención . Hasta Hibernate 3.x, todas las excepciones lanzadas por Hibernate eran excepciones comprobadas , por lo que cada Hibernate API forzó al desarrollador a detectar y manejar excepciones. Esta estrategia fue influenciada por JDBC, que también lanza solo marcó excepciones. Sin embargo, pronto quedó claro que esto no tiene sentido, porque todas las excepciones lanzadas por Hibernate son fatales. En muchos casos , lo mejor que puede hacer un desarrollador en esta situación es limpiar, mostrar un mensaje de error y salir de la aplicación . Por lo tanto, comenzando con Hibernate 3.x, todas las excepciones lanzadas por Hibernate son subtipos de la excepción de ejecución sin control, que es maneja generalmente en una única ubicación en una aplicación. Esto también hace obsoleta a cualquier plantilla de Hibernate o API de contenedor .
- 1. ¿Por qué se cambió std :: swap a <utility>?
- 2. HibernateException con setTimestamp pero trabaja con setParameter
- 3. ¿Por qué tener una RuntimeException específica del proyecto?
- 4. Cómo manejar adecuadamente excepciones importantes sin marcar
- 5. por qué la transacción se retrotrae a RuntimeException pero no a SQLException
- 6. ¿Por qué usar Hibernate/nHibernate?
- 7. qué etiqueta cambió en tableview a las células reuseing
- 8. ¿Por qué no tenemos que agregar try-catch a una RuntimeException?
- 9. ¿Por qué es necesario marcar una clase como serializable?
- 10. ¿Por qué Hibernate solo Auto-Flush dentro de una transacción?
- 11. Migración de Hibernate a JPA sin anotaciones
- 12. ¿Cómo trabajar con excepciones sin marcar?
- 13. ¿Cómo documenta las excepciones sin marcar?
- 14. ¿Por qué es lento Hibernate query.list()?
- 15. ¿Por qué se desaconseja marcar un conjunto ComVisible (verdadero)?
- 16. Uso adecuado de RuntimeException?
- 17. error: Llamada sin marcar para DefaultComboBoxModel (E [])
- 18. HibernateException: no se puede obtener la fábrica de Validación de Bean por defecto
- 19. Por qué org.hibernate.TransactionException en Hibernate y evitar
- 20. ¿Por qué se cambió el nombre del módulo 'thread' a '_thread' en Python 3.x?
- 21. Por qué marcar el argumento de función como volátil
- 22. ¿Cambió Python a más orientado a objetos?
- 23. ¿Puedo usar Collections.EMPTY_LIST sin una excepción sin marcar?
- 24. HibernateException: Encontrado dos representaciones de la misma colección
- 25. encontrar toda casilla sin marcar en jQuery
- 26. Android ¿Cómo se detecta qué contacto cambió?
- 27. Por qué el color de la imagen cambió cuando fue comprimido por Bitmap.CompressFormat.JPEG
- 28. Persistir Java Enum sin procesar usando Hibernate
- 29. Java "llamada sin marcar para comparar a (T) como miembro del tipo sin formato java.lang.Comparable"
- 30. Entidades Hibernate sin tablas subyacentes
Fuente? ....... –
@ T.J. Sí, sería bueno tenerlo aquí. Sé que lo leí en alguna parte, así que si encuentro esa fuente, la publicaré aquí. – darioo
Una de las muchas decisiones estúpidas del personal de Hibernate. RuntimeExceptions son invisibles si se lanzan dentro de un Thread: solo mata el Thread sin ningún rastro. RuntimeExceptions está prohibido en una biblioteca, este es un diseño muy malo. –