Ok, thanks.
I have three entities that inherit from a base Entity class.
public class Entity
{
public long Key { ... }
}
public class Attribute : Entity
{
public Person Person { ... }
}
public class Race : Attribute
{
}
public class Person : Entity
{
public IList<Race> Races { ... }
}
Regards,
Ron
From: [email protected] [mailto:[email protected]] On Behalf Of
Fabio Maulo
Sent: Thursday, November 11, 2010 9:04 AM
To: [email protected]
Subject: Re: [nhusers] Problems with a bag of joined subclass entities
In your explanation you are mixing 'class' with tables.
Can we see the implementation of your domain ?
I would see if the relation is bidirectional or not and where is declared the
property.
Where the relation is not bidirectional the Person FK, and using
table-per-class, should be in the table representing the class related with
Person.
--
Fabio Maulo
El 11/11/2010, a las 10:23, Ron Denis
<[email protected]<mailto:[email protected]>> escribió:
The problem is that the query that is created when the Person.Races collection
is lazy loaded is incorrect.
Nhibernate is generating SQL that joins Person.PersonKey to Race.PersonKey;
however Race doesn't have a PersonKey. Race inherits from Attribute and
Attribute has a PersonKey.
I imagine that I am doing something wrong when I build the mapping information
because somehow Nhibernate is expecting Race to have a PersonKey when my intent
is that Race inherits PersonKey from Attribute.
Regards,
Ron
From: [email protected]<mailto:[email protected]>
[mailto:[email protected]<mailto:[email protected]>] On Behalf Of
Fabio Maulo
Sent: Tuesday, November 09, 2010 12:20 PM
To: [email protected]<mailto:[email protected]>
Subject: Re: [nhusers] Problems with a bag of joined subclass entities
I didn't understand the problem.
On Tue, Nov 9, 2010 at 10:56 AM, Ron Denis
<[email protected]<mailto:[email protected]>> wrote:
Good morning.
I am still struggling to find a solution to this. Does anyone have any
suggestions?
Regards,
Ron
-----Original Message-----
From: [email protected]<mailto:[email protected]>
[mailto:[email protected]<mailto:[email protected]>] On Behalf Of
rdenis
Sent: Thursday, November 04, 2010 10:30 AM
To: nhusers
Subject: [nhusers] Problems with a bag of joined subclass entities
Guys,
As the title says, i have a mapping issue. I have tried to condense the issue
into a contrived example as follows.
I have:
1) A Person entity with a PersonKey primary key.
2) An Attribute entity with a reference to Person (has a PersonKey foreign key).
3) A Race entity that is a joined subclass of the Attribute entity.
4) The Person entity has an IList of Race entities (a Races property).
The problem is that nhibernate doesn't seem to recognize that Race will inherit
the PersonKey from Attribute. In the sql generation it wants to add a
PersonKey column to Race. Also, when I access the Races property of Person,
the lazy load mechanism kicks in tries to query the list of Race entities by
accessing Race.PersonKey, which, again should come from the Attribute class.
Any help would be greatly appreciated.
------------------------------
Additional Information:
The Person mapping:
<class name="Person" table="Person">
<id name="Key" ....
<column name="PersonKey" />
...
</id>
<bag inverse="true" name="IntoleranceConditions">
<key>
<column name="PersonKey" />
</key>
<one-to-many class="Race" />
</bag>
</class>
The Attribute and Race Mappings:
<class name="Attribute" table="Attribute">
<id name="Key" ...
<column name="AttributeKey" />
...
</id>
<joined-subclass name="Race">
<key foreign-key="Foo_FK">
<column name="AttributeKey" />
</key>
</joined-subclass>
</class>
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to
[email protected]<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]<mailto:[email protected]>.
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.
________________________________
The contents of this e-mail and any attachments are intended solely for the use
of the named addressee(s) and may contain confidential and/or privileged
information. Any unauthorized use, copying, disclosure, or distribution of the
contents of this e-mail is strictly prohibited by the sender and may be
unlawful. If you are not the intended recipient, please notify the sender
immediately and delete this e-mail.
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to
[email protected]<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]<mailto:[email protected]>.
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.
--
Fabio Maulo
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to
[email protected]<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]<mailto:[email protected]>.
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.
________________________________
The contents of this e-mail and any attachments are intended solely for the use
of the named addressee(s) and may contain confidential and/or privileged
information. Any unauthorized use, copying, disclosure, or distribution of the
contents of this e-mail is strictly prohibited by the sender and may be
unlawful. If you are not the intended recipient, please notify the sender
immediately and delete this e-mail.
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to
[email protected]<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]<mailto:[email protected]>.
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to
[email protected]<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]<mailto:[email protected]>.
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.
________________________________
The contents of this e-mail and any attachments are intended solely for the use
of the named addressee(s) and may contain confidential and/or privileged
information. Any unauthorized use, copying, disclosure, or distribution of the
contents of this e-mail is strictly prohibited by the sender and may be
unlawful. If you are not the intended recipient, please notify the sender
immediately and delete this e-mail.
--
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.