|
Hi there,
I have the following mapping file:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="CQPA.Operations.Storage" assembly="CQPA.Operations.Storage" >
<class name="PropertyBase" table="EquipmentProperties" discriminator-value="???">
<id name="Id" column="ID" type="System.Guid">
<generator class="guid" />
</id>
<discriminator column="PropertyType" type="string" length="3" />
<property name="Name" column="Name" type="string" length="128"/>
<property name="Description" column="Description" type="string" length="256"/>
<property name="DataType" column="DataType" type="System.Type"/>
<property name="UnitOfMeasure" column="UnitOfMeasure" type="string" length="32"/>
<property name="QualifiedName" formula="EquipmentID + '.' + Name" access="field.camelcase-underscore" type="string"/>
<subclass name="ClassPropertyTemplate" discriminator-value="CPT">
<many-to-one name="EquipmentClass" column="EquipmentClassID" class="EquipmentClass" lazy="false"/>
<property name="Tag" column="Tag" type="string" length="256"/>
<many-to-one name="QueryTemplate" column="QueryTemplateID" class="QueryTemplate" lazy="false"/>
</subclass>
<subclass name="EquipmentProperty" discriminator-value="EP?">
<many-to-one name="Equipment" column="EquipmentID" class="Equipment" lazy="false"/>
<subclass name="EquipmentPropertyConstant" discriminator-value="EPC">
<property name="Constant" type="string" length="256"/>
</subclass>
<subclass name="EquipmentPropertyQuery" discriminator-value="EPQ">
<property name="Tag" type="string" length="256"/>
<many-to-one name="QueryTemplate" column="QueryTemplateID" class="QueryTemplate" lazy="false"/>
<subclass name="EquipmentClassPropertyQuery" discriminator-value="ECP">
<many-to-one name="EquipmentClass" column="EquipmentClassID" class="EquipmentClass" lazy="false"/>
</subclass>
</subclass>
</subclass>
</class>
</hibernate-mapping>
I'm reusing the columns for "Equipment", "Tag" & "EquipmentClass" in some of my subclasses, but not all. If I try to do this it doesn't work. If I rename the columns to be unique they work fine, but this doesn't look good and my client will likely want me to throw NHibernate out because of it.
Can anyone help me please? How do I make this work?
Cheers.
James.
|