J'ai un objet appelé MyItem qui référence les enfants dans le même élément. Comment puis-je configurer un fichier de mappage nhibernate pour stocker cet élément?nHibernate de stockage d'un objet avec auto-référencement de nombreux enfants et de nombreux parents
public class MyItem
{
public virtual string Id {get;set;}
public virtual string Name {get;set;}
public virtual string Version {get;set;}
public virtual IList<MyItem> Children {get;set;}
}
donc à peu près la hbm.xml serait:
<class name="MyItem" table="tb_myitem">
<id name="Id" column="id" type="String" length="32">
<generator class="uuid.hex" />
</id>
<property name="Name" column="name" />
<property name="Version" column="version" />
<bag name="Children" cascade="all-delete-orphan" lazy="false">
<key column="children_id" />
<one-to-many class="MyItem" not-found="ignore"/>
</bag>
</class>
Cela ne fonctionnerait pas, je ne pense pas. Peut-être que j'ai besoin de créer une autre classe, dites MyItemChildren et l'utiliser comme membre enfants, puis faire le mapping dans cette classe?
Cela voudrait dire avoir deux tables. Une table contient le MyItem et l'autre table contient des références de mon article. REMARQUE: un élément enfant peut avoir plusieurs parents.