Wiosną 3.1 i wyżej, LocalContainerEntityManagerFactoryBean ma być w stanie skonfigurować JPA EntityManagerFactory bez persistence.xml. Konfiguracja jest zawarta w definicji komponentu bean dla LocalContainerEntityManagerFactoryBean.Spring LocalContainerEntityManagerFactoryBean scanForPackages i Hibernate definicje typów pakietów na poziomie pakietu
Kiedy użyć metody packagesToScan powiedzieć fasoli fabryki, gdzie skanowanie do moich klas podmiot nie wydaje się być picking mój Hibernate type definitions które są zdefiniowane na poziomie pakietu.
package-info.java:
@org.hibernate.annotations.TypeDefs({
@org.hibernate.annotations.TypeDef(name = "TypeA", typeClass = com.foo.type.A.class),
@org.hibernate.annotations.TypeDef(name = "TypeB", typeClass = com.foo.type.B.class) }) package com.foo.type;
wiosna-jpa.xml:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" lazy-init="true">
<property name="dataSource" ref="dataSource" />
<property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="jpaPropertyMap">
<map>
<entry key="hibernate.dialect" value="com.foo.FooDialect" />
<entry key="hibernate.default_schema" value="dba"/>
<entry key="hibernate.cache.use_query_cache" value="false"/>
<entry key="hibernate.cache.use_second_level_cache" value="true"/>
<entry key="hibernate.cache.region.factory_class" value="org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory"/>
<entry key="net.sf.ehcache.configurationResourceName" value="META-INF/ehcache.xml" />
<entry key="javax.persistence.validation.factory" value-ref="validator"/>
</map>
</property>
<property name="packagesToScan">
<list>
<value>com.foo.domain</value>
<value>com.foo.type</value>
</list>
</property>
</bean>
Czy istnieje sposób, aby to działało?
Mam wobec tego samego problemu. Ale jak wspominasz, kiedy dodaję @MappedSuperclass, otrzymam następujący błąd Maven --------> ERROR] core \ model \ package-info.java: [2,0] error: typ adnotacji nie dotyczy tego rodzaj deklaracji – Channa