IK.AM

@making's tech note


persistence.xmlを省略してLocalContainerEntityManagerFactoryBeanを使う際にorm.xmlを設定する方法

🗃 {Programming/Java/org/springframework/orm/jpa}
🗓 Updated at 2013-09-30T13:35:53Z  🗓 Created at 2013-09-30T13:35:53Z   🌎 English Page

org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBeanpackagesToScanプロパティを設定するとpersistence.xmlを省略できるが、今度はMETA-INF/orm.xmlが効かなくなってしまう。orm.xmlも使用したい場合は以下のように設定する

<bean
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
    id="entityManagerFactory">
    <property name="packagesToScan" value="yourproejct.domain.model" />
    <property name="dataSource" ref="dataSource" />
    <property name="jpaVendorAdapter" ref="jpaVendorAdapter" />
    <property name="mappingResources" value="META-INF/orm.xml" />
   <!-- omitted -->
</bean>

classpath:/META-INF/orm.xmlではないことに注意。

ちなみにorm.xmlの雛形は以下

<?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_2_0.xsd"
    version="2.0">
    <!-- omitted -->
</entity-mappings>

✒️️ Edit  ⏰ History  🗑 Delete