如何使用XML在Hibernate中映射此多态性,而不创建额外的父表?
我试图在Hibernate中映射POJO树,这样我就可以(a)在任何地方简洁地使用UUID作为主键,以及(b)在其他不相关的表之间外部施加类似集合的关系。使用注释似乎效果很好,但就我个人而言,我无法使用HBM XML映射实现同样的效果 例如,给定以下(缩写)类: 同时,我试图转向XML配置。POJO是从XML模式生成的。因为源代码是生成的,所以我试图避免手动编辑它来添加注释 我已经尝试了我能想到的所有XML配置(以及在Hibernate工具中玩弄如何使用XML在Hibernate中映射此多态性,而不创建额外的父表?,hibernate,uuid,hibernate-mapping,Hibernate,Uuid,Hibernate Mapping,我试图在Hibernate中映射POJO树,这样我就可以(a)在任何地方简洁地使用UUID作为主键,以及(b)在其他不相关的表之间外部施加类似集合的关系。使用注释似乎效果很好,但就我个人而言,我无法使用HBM XML映射实现同样的效果 例如,给定以下(缩写)类: 同时,我试图转向XML配置。POJO是从XML模式生成的。因为源代码是生成的,所以我试图避免手动编辑它来添加注释 我已经尝试了我能想到的所有XML配置(以及在Hibernate工具中玩弄的输出)。我想不出一个配置,它既不能创建一个额外的
的输出)。我想不出一个配置,它既不能创建一个额外的唯一的
父表,包括一个额外的连接,也不能在会话工厂中失败,并出现以下错误:
关联引用未映射的类:唯一
有人对我的XML配置文件应该是什么样子有什么建议吗?还是我走了一条不好的路?是这样的:
<class name="Unique" abstract = "true">
<id name="uuid" />
<union-subclass name="Relationship">
<set name="members" table = "Relationship_Unique" >
<key />
<many-to-many class = "Unique" unique="true"/>
</set>
</union-subclass>
<union-subclass name="Activity">
<property name = "name" />
</union-subclass>
<union-subclass name="AssociaXML">
<property name = "xml" />
</union-subclass>
</class>
另请参见:
- 是这样的:
<class name="Unique" abstract = "true">
<id name="uuid" />
<union-subclass name="Relationship">
<set name="members" table = "Relationship_Unique" >
<key />
<many-to-many class = "Unique" unique="true"/>
</set>
</union-subclass>
<union-subclass name="Activity">
<property name = "name" />
</union-subclass>
<union-subclass name="AssociaXML">
<property name = "xml" />
</union-subclass>
</class>
另请参见:
<class name="Unique" abstract = "true">
<id name="uuid" />
<union-subclass name="Relationship">
<set name="members" table = "Relationship_Unique" >
<key />
<many-to-many class = "Unique" unique="true"/>
</set>
</union-subclass>
<union-subclass name="Activity">
<property name = "name" />
</union-subclass>
<union-subclass name="AssociaXML">
<property name = "xml" />
</union-subclass>
</class>