JPA packagesToS不会导致扫描package-info.java注释

时间:2014-08-29 19:11:09

标签: java spring hibernate jpa

我无法通过package-info.java文件配置JPA全局类型映射,如下所示:

@TypeDefs({
    @TypeDef(
        typeClass = MyCustomUserType.class,
        defaultForType = MyType.class
    )
})
package my.entity.package;
import...

我的spring配置文件如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
       http://www.springframework.org/schema/tx
           http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
       http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-3.2.xsd">

    <context:spring-configured />
    <context:annotation-config />

    <context:component-scan base-package="my.package"/>

    <context:property-placeholder location="classpath:/my.properties" />

    <bean id="testDataSource" class="org.apache.commons.dbcp.BasicDataSource"
          p:driverClassName="com.ibm.db2.jcc.DB2Driver"
          p:url="jdbc:db2://${database.host}:50000/${database.dbname}:currentSchema=I0071DBA;"
          p:username="${database.username}"
          p:password="${database.password}"
          p:initialSize="5"
          p:maxActive="10">
    </bean>

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="testDataSource" />
        <property name="persistenceProviderClass" value="org.hibernate.jpa.HibernatePersistenceProvider"/>
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                <property name="showSql" value="true"/>
            </bean>
        </property>
        <property name="jpaPropertyMap">
            <map>
                <entry key="hibernate.dialect" value="org.hibernate.dialect.DB2Dialect"/>
                <entry key="hibernate.default_schema" value="MySchema"/>
                <entry key="hibernate.cache.use_query_cache" value="false"/>
                <entry key="hibernate.cache.use_second_level_cache" value="false"/>
            </map>
        </property>
        <property name="packagesToScan" value="my.entity.package"/>
    </bean>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>

<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>

我相信正在使用packagesToScan属性,因为我的所有实体类都配置到EntityManagerFactory中。仅未使用package-info.java文件。有关将package-info.java文件配置到EntityManagerFactory中的任何建议吗?

0 个答案:

没有答案