我正在尝试映射一个对象。它有一个主键作为三个ID的复合键,但它们在三个不同的对象中:Role,SecApplication,SecFunction。我搜索了有关如何从对象进行映射的信息,但我没有发现任何相关信息。如果它对任何事情都有帮助,我会把我正在尝试的代码放在一边:
<composite-key>
<key-many-to-one name="role" class="Role.id" >
<column name="id_perfil"/>
</key-many-to-one>
<key-many-to-one name="secApplication" class="SecApplication.id">
<column name="id_aplicacion"/>
</key-many-to-one>
<key-many-to-one name="secFunction" class="SecFunction.id">
<column name="id_funcion"/>
</key-many-to-one>
</composite-key>
产生以下错误:
Caused by: org.xml.sax.SAXParseException; lineNumber: 675; columnNumber: 18; cvc-complex-type.2.4.a: Invalid content was found starting with element 'composite-key'.
我想知道做这个或任何解释它的网站的正确方法是什么。
答案 0 :(得分:0)
解决了:我知道了!这是正确的形式,但我有两个错误,我已将<composite-key>
更改为<composite-id>
,我已删除了“class”中的ID并且它有效。
<composite-id>
<key-many-to-one name="role" class="Role" >
<column name="id_perfil"/>
</key-many-to-one>
<key-many-to-one name="secApplication" class="SecApplication">
<column name="id_aplicacion"/>
</key-many-to-one>
<key-many-to-one name="secFunction" class="SecFunction">
<column name="id_funcion"/>
</key-many-to-one>
</composite-id>