使用JPA保留第三方对象
问题内容:
在我当前的项目中,我正在使用没有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>