您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将2个相同的表(相同的属性)映射到1个实体

如何将2个相同的表(相同的属性)映射到1个实体

要将两个相同的表映射到一个类,您需要使用Hibernate或NHibernate的entity-name属性。文档在这里

http://docs.jboss.org/hibernate/core/3.2/reference/en/html/mapping.html#mapping- entityname

例如,要将单个类Order映射到Order和OrderHistory表,您可以创建一个映射文件,使用新的实体名称将订单类映射到两个表,如下所示:

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
 <class name="DomainModel.Order, DomainModel"
     table="Orders" entity-name="Order">`  
         <id name="_id" access="field" column="OrderId">
             <generator class="assigned"/>
         </id>
        <property name= ...>
 </class>
 <class name="DomainModel.Order, DomainModel"
     table="OrderHistories" entity-name="OrderHistory">
         <id name="_id" access="field" column="OrderId">
            <generator class="assigned"/>
         </id>
        <property name= ...>
</class>
</hibernate-mapping>

然后根据所需的实体类型,调用适当的会话方法,如下所示:

_session.Save("Order", myOrder)

要么

_session.Save("OrderHistory", myOrder)

通常,实体名称必须在所有Hibernate调用中替换类名称

其他 2022/1/1 18:14:54 有547人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶