Domanda

C'è una differenza tra:

  • @Cascade (org.hibernate.annotations.CascadeType.REMOVE) e
  • @Cascade (org.hibernate.annotations.CascadeType.DELETE)?
È stato utile?

Soluzione

Non c'è alcuna differenza; sono sinonimi.

La documentazione è piuttosto in silenzio su questo, ma se si guarda alla fonte AnnotationBinder.getCascadeStrategy(), entrambi sono in corso di traduzione di Hibernate di "cancellare" tipo a cascata.

La ragione per cui esistono entrambi (e sto cercando di indovinare qui) è perché nucleo Hibernate ha sempre utilizzato "ELIMINA" come tipo a cascata, ma CascadeType dell'APP specifica "RIMUOVERE" come una costante. Sospensione annotazioni CascadeType, essendo parte di estensione JPA di Hibernate ha quindi sia per completezza / coerenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top