I have a class with following description:
public class Customer { public ISet<Client> Contacts { get; protected set;} }
I want to map Contacts property onto following table:
CREATE TABLE user_contacts ( user1 uuid NOT NULL, user2 uuid NOT NULL )
I want it to map bidirectionally, i.e. when Customer1 added to Customer2’s Contacts, Customer1’s Contacts collection should contain Customer2 (maybe only after entity reload). How could I do that?
Update Sure I can map left-to-right and right-to-left sets and then combine then at runtime, but it’ll… hmm… untasty… Is there other solution? Any way, thank you very match, FryHard!
Take a look at this link on what hibernate calls unidirectional many-to-many associations. In Castle ActiveRecord I make use of HasAndBelongsToMany links, but I am not sure how exactly it is mapped in nhibernate.
Though taking a look at your question a little deeper, it looks like you will be linking bidirectionally from customer to user_contacts, which could break the many-many link. I will play with an example and see what I can come up with.
An Export of the hbm files from ActiveRecord shows this
ActiveRecord example:
Hope it helps!