¿Qué CascadeType.ACTUALIZACIÓN realmente?

¿Qué hace el CascadeType.REFRESH realmente?

La definición es

Cuando actualizamos una entidad todas las entidades a cabo en este campo actualizar demasiado

pero ¿qué significa esto en la práctica? Podría alguien por favor me dan un ejemplo sencillo?

InformationsquelleAutor Kim L | 2009-09-10

2 Kommentare

  1. 112

    El individuo CascadeType descripciones puede ser un poco confuso, pero hay una manera fácil de averiguar, desde el caso general.

    Para cualquiera de los CascadeType valores, es decir, que si la operación X se llama en una instancia mediante el EntityManager de la interfaz, y que la instancia tiene referencias a otras instancias de entidad, y que la asociación ha CascadeType.X definidos, la EntityManager operación también se puede aplicar a los asociados de la entidad.

    Así EntityManager.refresh() se define como :

    Actualizar el estado de la instancia de la
    la base de datos, sobrescribir los cambios realizados
    para la entidad, si lo hubiere.

    Por lo que si la entidad tiene una referencia a la entidad B, y que la referencia se anota con @CascadeType.REFRESH, y EntityManager.refresh(A) se llama, entonces EntityManager.refresh(B) se llama implícitamente también.

    • Sé que este es un viejo post, pero usando tu ejemplo a) y B) anteriores, si la instancia de B es actualmente separado, sería un CascadeType.De PERSISTIR la causa B a convertirse en persistente? Estoy usando Hibernate implementación de JPA.
    • Respondiendo a mi propia pregunta. La respuesta es no. Usted debe llamar a guardar en el objeto para convertirse en persistente.
    • ¿Qué pasaría si yo combinación de un objeto que está en el estado persistente?
  2. 7

    La recuperación de Actualizar:
    Los objetos administrados se puede cargar desde la base de datos mediante el método de actualización:

    El contenido del objeto administrado en la memoria se descarta (incluidos los cambios, si los hubiere) y sustituido por los datos que se recuperan de la base de datos. Esto puede ser útil para asegurarse de que la solicitud de ofertas con la versión más actualizada de un objeto de entidad, en caso de que podría haber sido cambiado por otro EntityManager desde que fue recuperada.

    Fuente: http://www.objectdb.com/java/jpa/persistence/retrieve

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea