Bonjour,
J'essai de faire ma première relation many-to-many mais je rencontre un problème. A la base, j'ai 2 classes, une classe "SUBSCRIBER" et une autre "FEED". Un SUBSCRIBER peut s'abonner à un ou plusieurs FEED (rss), et un FEED peut-être utilisé par plusieurs SUBSCRIBER ... donc le but évident est de se trouver au final avec une 3ème base de données avec 2 clés étrangères (l'id du RSS et l'id du SUBSCRIBER) créée par Hibernate.
Voici mon code de configuration :
C'est pas loin de marcher, car j'obtiens bien ma 3ème table. Le problème survient quand j'appelle le IList de SUBSCRIBER pour lui "Add" un FEED. J'ai l'erreur :
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 <class name="FeedleClient.Feed, FeedleClient" table="Feed"> <id name="Id"> <generator class="native" /> </id> <property name="Url" not-null="true" /> <bag name="NewsList" fetch="join" cascade="all"> <key column="FK_Feed" /> <one-to-many class="FeedleClient.News, FeedleClient" /> </bag> <bag name="SubscriptionsList" table="Subscription" fetch="join" cascade="all"> <key column="FK_Feed" /> <many-to-many class="FeedleClient.Subscriber, FeedleClient" /> </bag> </class> <class name="FeedleClient.Subscriber, FeedleClient" table="Subscriber"> <id name="Id"> <generator class="native" /> </id> <property name="Login" not-null="true" /> <property name="Password" not-null="true" /> <bag name="SubscriptionsList" table="Subscription" fetch="join" cascade="all"> <key column="FK_Subscriber" /> <many-to-many class="FeedleClient.Feed, FeedleClient" /> </bag> </class>
Je suis débutant avec Hibernate, donc ...InnerException = {"Cannot insert the value NULL into column 'FK_Feed', table 'Feedle.dbo.Subscription'; column does not allow nulls. INSERT fails.\r\nThe statement has been terminated."}
Merci de votre aide !
Partager