我想将一对多的集合映射到子类,但集合的键是父类的属性。
目前我正在像这样映射 AbstractFoo Foo 和 Bar 类:
<class name="AbstractFoo" abstract="true" table="abstractFoo">
<id name="_id" column="foo_pk">
<generator class="native" />
</id>
<many-to-one name="_bar" column="bar_fk">
</many-to-one>
<joined-subclass name="Foo" table="foo">
<key column="abstractFoo_fk" />
<property name="_type" column="type" />
</joined-subclass>
</class>
<class name="Bar" table="bar">
<map name="_foos" inverse="true">
<key column="bar_fk"/>
<map-key column="type">
<one-to-many class="Foo" />
</map>
</class>
实际上,当我使用该映射时,Hibernate 试图在表 foo 上找到列 bar_fk 而不是 abstractFoo。
有没有办法做这样的事情?