我有一个遗留数据库,它有大约10个相同的表(只有名称不同)。 是否可以为所有表使用相同的业务实体而无需创建多个类/映射文件?相同表格的相同商业实体?
0
A
回答
1
如果您使用NHibernate v2.1或更高版本,则可以使用entity-name功能。它记录不完整,但我正在积极使用该功能。它已经变得很难找到它的文档,但看看这里:
5.3节
http://docs.jboss.org/hibernate/core/3.2/reference/en/html/mapping.html#mapping-entityname
几件事情要注意的。您现在必须使用实体名称而不是类名称来引用对象。总的来说,从类名到实体名不是一个完全透明的变化。
会议的行动,现在需要两个参数,例如:
_session.Save( “myEntity所”,为MyObject)
什么表中的数据进入实体名称的控件。
有些HQL查询不再正常工作,有时您必须改用Criteria。
如果您需要一组示例代码,我可能会张贴一些,但目前太忙了。我建议你看看你可以找到的有限的信息,并设置一个非常简单的对象和多个表来了解它是如何工作的。它确实有效。
1
您可以创建一个包含所有属性的基类,但仍需要映射它们。为此,您可以使用复制&粘贴,XML实体(请参阅http://nhibernate.info/doc/nh/en/index.html#inheritance-tableperconcreate-polymorphism检查)或基于代码的映射方法(Fluent或ConfORM)。他们通常使重用更容易。
相关问题
- 1. 对两个相同的表使用相同的实体类?
- 2. 实体框架相同的实体
- 3. 表和视图相同的实体类
- 4. 生成不同ID的相同实体
- 5. 具有相同实体类型的外键的表格
- 6. 具有相同表格数据的实体
- 7. 实体框架中的相同表格关系
- 8. 相关表格上的不同模式名称 - 实体框架
- 9. 两个不同实体框架中的相同实体名称
- 10. 如何使用Entity Framework 4.0将相同的实体映射到相同的表?
- 11. 相同的表格,不同的尺寸?
- 12. 实体框架两个表相同设计不同的名称
- 13. Ext JS 4 - 共享相同商店的网格实例
- 14. 使用相同/相似模式和实体框架处理多个表格
- 15. 格式相同
- 16. 相同的实例
- 17. 两次连接相同的实体
- 18. Devart总是更新相同的实体
- 19. 实体给出相同的ID
- 20. 使用FluentNHibernate相同的实体关系
- 21. JPA坚持两次相同的实体
- 22. 使用相同的实体框架
- 23. 比较没有相同行数但列数相同的表格
- 24. 多种风格的相同字体
- 25. 列表是相同的但不相同?
- 26. 学说ORM - 相同的实体,不同所有权的不同表
- 27. 两个EAR文件,相同的JPA实体管理器,相同的事务=>相同的会话?
- 28. 3相关的实体表格
- 29. Symfony的 - 表格三个相关实体
- 30. JPA两个实体使用相同@JoinTable
Upvoted因为它会工作,虽然西西弗斯 的答案更接近我所需要的。我为所有对象使用同一个存储库(将它们视为同一类型,但使用表名来标识它们) – jgauffin 2010-10-21 07:16:34