情况如下:
我有一个Oracle数据库,其中给出了数据库模式,因此我无法更改它。 ID是通过数据库生成的,是主键。 OR-mapper是一个自编的,我必须用NHibernate替换它。
我有两个只有关联且没有继承的表:
我所拥有的课程如下:
使用“旧”OR映射器,类 ModeProduction 和 ModeQualityCheck 将持久保存到表模式。例如,您想要检索(然后回写)所有 ModeProducts ,模式产品取自表模式,其中“ModeType_ID”是等于 ModeType 表中的“ID”,其中“Origin”= 1.属性/列“Origin”的作用类似于鉴别器,但没有继承。
那么,我如何在NHibernate中映射它以产生相同的效果:获取所有 ModeProducts (并稍后再写回),其中Origin在 ModeType 中为1表
到目前为止,我有以下XML映射:
ModeType:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="Domain"
namespace="Domain.Domain">
<class name="ModeTypeBase" table="MODE_TYPES">
<id name="Id" column="ID" access="nosetter.camelcase-underscore">
<generator class="sequence">
<param name="sequence">MODE_TYPES_SEQ</param>
</generator>
</id>
<property name="Name" column="NAME" not-null="true" />
<property name="Origin" column="ORIGIN" not-null="true" />
</class>
</hibernate-mapping>
ModeProduction:(表 ModeType 中的Origin = 1)
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="Domain"
namespace="Domain.Domain">
<class name="ModeProduction" table="MODES">
<id name="Id" column="ID" access="nosetter.camelcase-underscore">
<generator class="sequence">
<param name="sequence">MODES_SEQ</param>
</generator>
</id>
<property name="Comment" column="COMMENT" not-null="true" />
<many-to-one name="ModeTypeObject" class="ModeType" column="MODE_TYPE_ID" cascade="save-update" not-null="true" />
</class>
</hibernate-mapping>
ModeQualityCheck:(表 ModeType 中的Origin = 0)
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="Domain"
namespace="Domain.Domain">
<class name="ModeQualityCheck" table="MODES">
<id name="Id" column="ID" access="nosetter.camelcase-underscore">
<generator class="sequence">
<param name="sequence">MODES_SEQ</param>
</generator>
</id>
<property name="Comment" column="COMMENT" not-null="true" />
<many-to-one name="ModeTypeObject" class="ModeType" column="MODE_TYPE_ID" cascade="save-update" not-null="true" />
</class>
</hibernate-mapping>
有人可以帮帮我吗?