sql >> Database >  >> RDS >> Mysql

JPA + Hibernate:een beperking definiëren met ON DELETE CASCADE

JPA biedt wel de mogelijkheid om cascade bewerkingen (samenvoegen, volharden, vernieuwen, verwijderen) naar gekoppelde entiteiten. Logica is in JPA en maakt geen gebruik van databasecascades.

@OneToMany(cascade=CascadeType.REMOVE)

Er is geen manier die voldoet aan de JPA-standaard om cascades met databasecascades uit te voeren. Als dergelijke cascades de voorkeur hebben, moeten we terugvallen op de specifieke constructie van Hibernate:@ OnVerwijderen . Het werkt met @OneToMany tenminste, maar er waren in het verleden wat problemen met @OneToOne en @OnDelete .

@OnDelete(action = OnDeleteAction.CASCADE)

Houd er rekening mee dat het toevoegen van deze annotatie aan een bestaande beperking deze niet zal bijwerken. Mogelijk moet u het eerst handmatig verwijderen om het schema correct bij te werken.



  1. SSIS-pakket wil geen metadata van tijdelijke tabel ophalen

  2. Het verschil vinden tussen de laatste en de op één na laatste term

  3. De verbinding tussen client en server configureren Oracle 10g

  4. docker-compose:MySQL db elke keer opnieuw initialiseren