Bonjour,
J'ai le mapping suivant au niveau de mes entitées :La relation ManyToOne est unidirectionnelle, en effet on ne veut pas que lors d'une requête en base d'un File tous les Sdd soit requêtés à cause de la relation car potentiellement il peut y avoir des millions de Sdd liés à un File par clé étrangère.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 @Entity public class File implements Serializable {} @Entity public class Sdd extends Transaction implements Serializable {} @MappedSuperclass public abstract class Transaction { @ManyToOne @JoinColumn(name = "creationFile_id") protected File creationFile; }
Mon problème est que lorsque je tente de supprimer un Sdd lié à un File, j'ai l'exception :Il m'aurait semblé logique de ne pas pouvoir supprimer un File car plusieurs Sdd peuvent le référencés par clé étrangèrecom.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`creditor_table`.`sdd`, CONSTRAINT `FK14413D7579211` FOREIGN KEY (`creationFile_id`) REFERENCES `file` (`id`))
-mais la suppression de Sdd ne devrait elle pas être trivial?
-comment faire pour supprimer les Sdd correctement?
Partager