Bonjour,

Je veux tester l'intégration de Spring et Hibernate dans une petite application
Elle consiste à insérer un nouveau utilisateur dans une base de donnée
Pour le faire : j'utilise Spring 2.5 Hibernate 3 MySql 5

Je vous copie mes codes :

la classe UserDAOImpl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
public class UserDAOImpl extends HibernateDaoSupport  implements UserDAO {
	@Override
	public void saveUser(User user) {
		getHibernateTemplate().saveOrUpdate(user);
	}
}
la classe User

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
41
42
43
44
45
46
@Entity
@Table(name = "user", catalog = "database")
public class User implements java.io.Serializable {
 
	private Integer idUser;
	private String loginUser;
	private String passwordUser;
 
	public User() {
	}
 
	public User(String loginUser, String passwordUser) {
		this.loginUser = loginUser;
		this.passwordUser = passwordUser;
	}
 
	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id_user", unique = true, nullable = false)
	public Integer getIdUser() {
		return this.idUser;
	}
 
	public void setIdUser(Integer idUser) {
		this.idUser = idUser;
	}
 
	@Column(name = "login_user", nullable = false, length = 25)
	public String getLoginUser() {
		return this.loginUser;
	}
 
	public void setLoginUser(String loginUser) {
		this.loginUser = loginUser;
	}
 
	@Column(name = "password_user", nullable = false, length = 25)
	public String getPasswordUser() {
		return this.passwordUser;
	}
 
	public void setPasswordUser(String passwordUser) {
		this.passwordUser = passwordUser;
	}
 
}

Le controlleur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class UserController extends MultiActionController {
 
	private UserDAO userDAO;
 
	public void setUserDAO(UserDAO userDAO) {
		this.userDAO = userDAO;
	}
 
	public ModelAndView add(HttpServletRequest request,
			HttpServletResponse response, User user) throws Exception {
		userDAO.saveUser(user);
		return new ModelAndView("list.htm");
	}
}
Le fichier de configuration d'Hibernate
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
		"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
        <property name="hibernate.connection.password">root</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/database</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
    </session-factory>
</hibernate-configuration>

la Servlet
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
 
	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
		<property name="prefix">
		<value>/WEB-INF/jsp/</value>
		</property>
		<property name="suffix">
		<value>.jsp</value>
		</property>
	</bean>
 
 
	<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="configLocation">
			<value>classpath:hibernate.cfg.xml</value>
		</property>
		<property name="annotatedClasses">
			<list>
				<value>domain.User</value>
			</list>
		</property>
 
	</bean>
 
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="mySessionFactory"/>
	</bean>
 
	<bean id="transactionProxy" abstract="true"
		class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager">
			<ref bean="transactionManager"/>
		</property>
		<property name="transactionAttributes">
			<props>
				<prop key="insert*">PROPAGATION_REQUIRED</prop>
				<prop key="update*">PROPAGATION_REQUIRED</prop>
				<prop key="save*">PROPAGATION_REQUIRED</prop>
				<prop key="*">PROPAGATION_REQUIRED, readOnly</prop>
			</props>
		</property>
	</bean>
 
	<bean id="myUserDAO" class="dao.UserDAOImpl">
		<property name="sessionFactory" ref="mySessionFactory"/>
	</bean>
 
	<bean name="/user/*.htm" class="web.UserController" >
		<property name="userDAO" ref="myUserDAO" />
	</bean>
 
</beans>
maintenant, j'arrive à compiler le code sans aucune erreur affichée
j'arrive aussi à inserer un nouveau utilisateur au niveau du formulaire jsp sans aucune erreur !!
mais le problème mnt c'est que la table "user" reste toujours vide au niveau de la base de donnée !!


Est ce que qq'un peut m'aider à résoudre ce problème et Merci !!