Many To Many : Cas simple (débutant)
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 :
Code:
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> |
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 :
Citation:
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."}
Je suis débutant avec Hibernate, donc ... :)
Merci de votre aide !