在我的当前项目中,我正在使用一个没有JPA注释的第三方库。
如何使用JPA和外部映射持久化来自该库的对象?
META-INF/orm.xml
.xsd
您不必手动映射每一列 - 只需要一些特定的内容(即集合和id)即可。假设所有字段都是列(如果已映射类)。如果没有集合,类似于这样就足够了:
<?xml version="1.0" encoding="UTF-8" ?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
version="1.0">
<description>External entities from library X</description>
<package>com.external.library</package>
<entity class="SomeClassName">
<id>..</id>
</entity>
<entity class="AnotherClassName">
<id>..</id>
</entity>
</entity-mapping>
<package>
时,您无需使用完全限定名称。orm.xml
的文件名,在您的persistence.xml
中通过以下方式进行指定:<mapping-file>customMappingFile.xml</mapping-file>
请参考您所使用的JPA实现文档;任何严肃的JPA实现都应该提供使用XML和注释的示例。请查看http://www.datanucleus.org/products/accessplatform_2_0/jpa/metadata_xml.html,了解DataNucleus XML结构的相关文档,然后参考特定关系类型以获取不同功能的示例。
<id>
。 - Pascal Thivent<embeddable>
,所以我错过了它。已更新。 - Bozho