如何以编程方式配置映射?
Posted
技术标签:
【中文标题】如何以编程方式配置映射?【英文标题】:How to configure mapping programmatically? 【发布时间】:2012-11-07 07:49:35 【问题描述】:我们的 Hibernate 配置映射已在 java
中以编程方式实现,而不是 annotation
和 XML
映射。
当上下文初始化时,我们在 Hibernate Mappings 实例中设置了一个映射类层次结构,例如:
Mappings mappings = configuration.createMappings();
mappings.addClass(PersistentClass instance);
现在,我面临的问题非常简单,但我没有找到如何为我们的实现添加它的示例。
让我们这么说
我们有 2 个表A
和 B
具有多对一关系,
A.type_id = B.id.
我想从 A
检索所有记录,条件如下:
A.type_id = B.id and B.id = 4;
如何在我的映射对象中添加关联(多对一)。 org.hibernate.mapping.RootClass.
【问题讨论】:
问题标题和正文中描述的内容不同。正确 【参考方案1】:这个问题很老,但也许答案对其他人有帮助。
这个话题很复杂,在这里无法回答。不幸的是,Hibernate 文档没有包含很多信息,甚至源代码本身也根本没有记录。
这篇博文http://portofino.manydesigns.com/en/blog/configuring-hibernate-programmatically(及其第二部分)概述了如何以编程方式创建映射。
【讨论】:
【参考方案2】:查看here的答案
还请注意,.addclass 并不像您想象的那么容易。您需要一个 cfg.xml 和 hbm 文件组合。
【讨论】:
使用 Configuration#addAnnotatedClass() 删除 xml 文件。以上是关于如何以编程方式配置映射?的主要内容,如果未能解决你的问题,请参考以下文章