Bonjour,
J'ai un problème, je crois comprendre son origine mais je ne sais pas vraiment quelle est la solution à mettre en place, c'est pourquoi je me tourne vers vous.
En fait, j'ai un objet Dossier qui contient une collection d'élément Document.
J'utilise les annotations CollectionsOfElments car avec les annotations OneToMany cela ne fonctionnait pas.
Du coup actuellement, j'ai ceci :
Hors, lorsque je veux ajouter un objet Document à mon Dossier, j'ai une erreur telle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 @Entity public class Dossier implements Serializable { ... @CollectionOfElements @JoinTable(name = "dossier_document_join", joinColumns = @JoinColumn(name = "file")) private List<Document> documents; ... @Entity public class Document implements Serializable{ @Id private String file; @CollectionOfElements @JoinTable(name = "document_properties_join") private List<String> properties; public String getFile() { return file; } public void setFile(String file) { this.file = file; } public List<String> getProperties() { return properties; } public void setProperties(List<String> properties) { this.properties = properties; } }
Je pense que cela vient du fait que l'objet Document n'est pas encore enregistré en base lorsque je demande à l'ajouter pour l'objet Document. Aussi je voulais savoir comment fait on pour préciser que l'objet Document dépend entièrement de l'objet Dossier. Sans lui, il n'a pas lieu d'exister... ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ERROR JDBCExceptionReporter:101 - ERREUR: une instruction insert ou update sur la table « dossier_document_join » viole la contrainte de clé étrangère « fk53b74f5ae92397f4 » Détail*: La clé (documents_file)=(data/dossiers/1/documents/Hiver.jpg) n'est pas présente dans la table « document ». 14:55:23,576 ERROR AbstractFlushingEventListener:324 - Could not synchronize database state with session org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update ...
Ou alors, peu être cela bien d'autre part ?
Je vous remercie d'avance.
Partager