Thứ Tư, 4 tháng 11, 2015

Spring JavaConfig: configuration for JPA and Hibernate

1). caused by java.lang.NoClassDefFoundError: [Lorg/hibernate/engine/FilterDefinition;
Link: http://stackoverflow.com/a/25109098

instead of
 <bean id="sessionFactory"  
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

use
<bean id="sessionFactory"  
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

2). Spring data jpa- No bean named 'entityManagerFactory' is defined;
Link: http://stackoverflow.com/a/24531432

Spring Data JPA by default looks for an EntityManagerFactory named entityManagerFactory.
That means that you either have to rename your emf bean to entityManagerFactory or change your Spring configuration to:
 
<jpa:repositories base-package="your.package" entity-manager-factory-ref="emf" /> 
(if you are using XML)

or

@EnableJpaRepositories(basePackages="your.package", entityManagerFactoryRef="emf")
(if you are using Java Config)

In my case use JavaConfig,
@EnableJpaRepositories(basePackages = { "***.repositories" }, entityManagerFactoryRef="entityManagerFactory")

and Java Config class has a method
@Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource)

3). Warning about JDBC driver
Link: http://forum.spring.io/forum/spring-projects/web/79817-failure-to-unregister-the-mysql-jdbc-driver
SEVERE: A web application registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Fix: copy mysql jdbc jar to server's lib folder (lib in Tomcat, etc ...)
Continue ...
- Comments

0 nhận xét:

Đăng nhận xét