Pregunta

¿Hay una diferencia entre:

  • @Cascade (org.hibernate.annotations.CascadeType.REMOVE) y
  • @Cascade (org.hibernate.annotations.CascadeType.DELETE)?
¿Fue útil?

Solución

No hay diferencia; son sinónimos.

La documentación es bastante silencioso en esto, pero si nos fijamos en la fuente AnnotationBinder.getCascadeStrategy(), ambos están siendo traducido a Hibernate de "borrar" de tipo cascada.

La razón por la que ambos existen (y supongo aquí) se debe a que Hibernate núcleo ha utilizado siempre "BORRAR", como forma de cascada, pero CascadeType de APP especifica "eliminar" como una constante. Hibernate CascadeType Anotaciones, siendo parte de extensión JPA de Hibernate tiene así tanto para la integridad / coherencia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top