11

過去に JPA 2.0 で @Entity アノテーションが付けられた Bean の何らかの自動検出を使用したことは確かですが、その方法を見つけることができません。classpersistence.xml の XML 要素に各 Bean をリストする代わりに、どのようにそれを行うのですか?

4

3 に答える 3

10

Spring 3.1 以降、persistence.xmlを完全に忘れて、次のようにプロパティEntityManagerFactoryを使用して構成するオプションもあります。packagesToScan

<bean id="entityManagerFactory" 
      class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
      p:dataSource-ref="dataSource"
      p:packagesToScan="${jpa.entity.packages}">

    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"
              p:showSql="${hibernate.show_sql}"/>
    </property>

    <property name="jpaProperties">
        <props>
            <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
            <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
        </props>
    </property>
</bean>
于 2013-04-18T16:26:36.707 に答える
0

ここで Pascal Thivent の回答を参照してください

別の方法がありますが、JPA 自体は自動スキャンをサポートしていません。エンティティ IMHO を参照する最も簡単でクリーンな方法は、モデルを jar にパッケージ化し、それを参照することです<jar-file>MyModel.jar</jar-file>

于 2013-04-19T06:56:00.347 に答える