I can't send actual classes and tables, but let's try simple example:
abstract class BusinessObject
{
}
class ConcreteObject1 : BusinessObject
{
}
class ConcreteObject2 : BusinessObject
{
}
Additionaly thera are many ohter classes inherited from
ConcreteObject1 as well as ConcretObject2. Except of base class -
BusinessObject - both of concrete class have different specific
characters.
For some reason objects of both concrete classes MUST be stored in
distinct tables: TABLE1, TABLE2.
Sa we have following mappings:
<class name="ConcreteObject1" table="TABLE1" polymorphism="explicite"
>
<subclass>
</subclass>
<subclass>
</subclass>
</class>
<class name="ConcreteObject2" table="TABLE2" polymorphism="explicite"
>
<subclass>
</subclass>
<subclass>
</subclass>
</class>
Mapping strategy of subclasses is not importat at this moment.
Important fact is that mapping strategy for subclasses of
ConcreteObject1 can be different from mappng strategy for subclasses
of ConcreteObject2.
But in some cases we need to query about list of BusinessObject's
(ConcreteObject1 and ConcreteObject2 together) base properties. So we
introduced some special marker classes:
class ConcreteObject1Marker : BusinessObject
{
}
class ConcreteObject2Marker : BusinessObject
{
}
There are no classes inherited from ConcreteObject1Marker or
ConcreteObject2Marker.
And we want to prepare following mapping of BusinessObject class:
<class name="BusinessObject" abstract="true" mutable="false"
polymorphism="explicite" >
<union-subclass name="ConcreteObject1Marker" table="TABLE1">
</union-subclass>
<union-subclass name="ConcreteObject2Marker" table="TABLE2">
</union-subclass>
</class>
And now we should can quering about BusinessObject's instances
although they are stored in distinct tables (TABLE1 and TABLE2).
--
Piotr Jakóbczyk
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---