开发者

Use two joined subclasses in nhibernate

开发者 https://www.devze.com 2022-12-13 06:50 出处:网络
Ok, new to nhibernate and I am working on a project that has already fully implemented it. Scenerio:One class (Person) has two joined subclasses(RoleA and RoleB).

Ok, new to nhibernate and I am working on a project that has already fully implemented it.

Scenerio: One class (Person) has two joined subclasses (RoleA and RoleB).

What I need is that a given person can actually be both in RoleA and RoleB. Ho开发者_运维知识库w, when given a person that is already created and in RoleA, can I then make them also in RoleB while maintaining the relationships with RoleA?


So, you have something like the following (with Students and Teachers taking the place of RoleA and RoleB):

<class name="Person" table="Persons" >
  <id name="Id" column="PersonID">
    <generator class="native" />
  </id>
  <property name="Name" column="Name" not-null="true" />

  <joined-subclass name="Student" table="Students">
    <key column="PersonID" />
    <property name="Grade" column="Grade" not-null="true" />
  </joined-subclass>

  <joined-subclass name="Teacher" table="Teachers">
    <key column="PersonID" />
    <property name="ClassName" column="ClassName" not-null="true" />
  </joined-subclass>
</class>

If that is the case, your best bet is to use a one-to-one mapping to accomplish the same thing. Here is a good reference: http://nhibernate.info/doc/nh/en/index.html#mapping-declaration-onetoone

This person had a similar problem as you, and ended up going with the one-to-one mapping option: http://groups.google.com/group/nhusers/browse_thread/thread/1d83e0cd3c2bf58f

0

精彩评论

暂无评论...
验证码 换一张
取 消