Hallo,
I'm new to NHibernate and have some general questions about mapping of
class-structures. I'm using mapping attributes...
I have a base-class that is self-referencing by a parent_id. I tried
this way:
[Class(NameType = typeof(BaseClass), Table = "BASE")]
class abstract BaseClass : MyEntity
{
[Id(0, Name = "Id", Column = "ID")]
[Generator(1, Class = "hilo")]
public virtual long Id { get; set; }
[ManyToOne(Column = "PARENT_ID", ForeignKey = "FK_BASE_PARENT")]
public virtual BaseClass Parent { get; set; }
}
My intention was to inherit some classes from this abstract BaseClass
which all are self-referencing throught the BaseClass dependency.
I know that this is the wrong way (Hybernate throws an exception)
because the "Parent"-property is by design the wrong type (BaseClass
is abstract an can never be load)...
So I tried this:
[Class(NameType = typeof(BaseClass), Table = "BASE")]
class abstract BaseClass : MyEntity
{
[Id(0, Name = "Id", Column = "ID")]
[Generator(1, Class = "hilo")]
public virtual long Id { get; set; }
[Property(1, Column = "PARENT_VERSION_BO_ID")]
[Key(2, Column = "BO_ID", ForeignKey =
"FK_BO_PARENT_VERSION_BO")]
public virtual long ParentVersionId { get; set; }
[ManyToOne(Column = "PARENT_ID", ForeignKey = "FK_BASE_PARENT")]
public virtual BaseClass Parent { get; set; }
}
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.