Bonsoir,

Je rencontre quelques difficultés à installer Spring dans un projet Web utilisant Spring-Mvc et Jpa / Hibernate.

Je rencontre l'erreur suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: persistUnitIodos] Unable to build EntityManagerFactory
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:591)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
	at com.iodos.batch.BatchUtil.startSpringBatch(BatchUtil.java:21)
	at com.iodos.batch.BatchUtil.main(BatchUtil.java:15)
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: persistUnitIodos] Unable to build EntityManagerFactory
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:924)
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:899)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:59)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
	at org.springframework.orm.jpa.LocalEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalEntityManagerFactoryBean.java:92)
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:310)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
	... 13 more
Caused by: org.hibernate.HibernateException: Wrong column type in jpa.t_lien for column valide. Found: bit, expected: boolean
	at org.hibernate.mapping.Table.validateColumns(Table.java:373)
	at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1305)
	at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:155)
	at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:508)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1790)
	at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:96)
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914)
	... 20 more
Je suppose que j'oublie quelque chose dans le context.xml ou peristence.xml mais je ne trouve pas quoi

Voici mon persistence.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
    http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
   version="1.0">
 
   <persistence-unit name="persistUnitIodos">
   	   <provider>org.hibernate.ejb.HibernatePersistence</provider>
       <properties>
          <!-- Only scan and detect annotated entities -->
           <property name="hibernate.archive.autodetection"       value="class"/>
 
		  <property name="hibernate.show_sql"                     value="true"/>
          <property name="hibernate.format_sql"                   value="true"/>
          <property name="use_sql_comments"                       value="true"/>
 
          <property name="hibernate.connection.driver_class"      value="com.mysql.jdbc.Driver"/>
          <property name="hibernate.connection.url"               value="jdbc:mysql://localhost/jpa"/>
          <property name="hibernate.connection.username"          value="root"/>
          <property name="hibernate.connection.password"          value=""/>
 
          <property name="hibernate.c3p0.min_size"                value="5"/>
          <property name="hibernate.c3p0.max_size"                value="20"/>
          <property name="hibernate.c3p0.timeout"                 value="300"/>
          <property name="hibernate.c3p0.max_statements"          value="50"/>
          <property name="hibernate.c3p0.idle_test_period"        value="3000"/>
 
          <property name="hibernate.dialect"                      value="org.hibernate.dialect.MySQLDialect"/>
 
          <property name="hibernate.connection.characterEncoding" value="utf8" />
          <property name="hibernate.connection.charSet"           value="utf8" />
 
		  <property name="hibernate.connection.autocommit"        value="false"/>
 
           <property name="hibernate.hbm2ddl.auto"                value="validate"/>
 
      </properties>
   </persistence-unit>
</persistence>
et mon applicationContext.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xmlns:p="http://www.springframework.org/schema/p"
		xmlns:aop="http://www.springframework.org/schema/aop"
		xmlns:context="http://www.springframework.org/schema/context"
		xmlns:jee="http://www.springframework.org/schema/jee"
		xmlns:tx="http://www.springframework.org/schema/tx"
		xsi:schemaLocation="
			http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
			http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
			http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
			http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
			http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
 
	<context:annotation-config />
	<context:component-scan base-package="iodos-mvc" />
 
 
	<bean id="entityManagerFactory"
		class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
		<property name="persistenceUnitName" value="persistUnitIodos" />
	</bean>
 
	<!-- Transaction manager for a single JPA EntityManagerFactory (alternative to JTA) -->
	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"
			p:entityManagerFactory-ref="entityManagerFactory"/>
 
    <tx:annotation-driven/>
</beans>
Si quelqu'un peut m'aider... Merci