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

如何将2个相同的表(相同的属性)映射到1个实体,第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 />         </id>        <property name= ...> </class> <class name="DomainModel.Order, DomainModel"     table="OrderHistories" entity-name="OrderHistory">         <id name="_id" access="field" column="OrderId"> <generator />         </id>        <property name= ...></class></hibernate-mapping>

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

_session.Save("Order", myOrder)

要么

_session.Save("OrderHistory", myOrder)

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



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4930034.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存