Bonjour,
Voici mon environment:
-Tomcat 6
-Spring wef flow + JSF
-JPA + Hibernate
-Spring RC1
-@Transactional annotation
Voici mon code.
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 <bean id="controleAdministrationSondages" class="com.jbmlf.ControleAdministrationSondages" scope="singleton"> <property name="controleAdministrationSondagesDAO" ref="controleAdministrationSondagesDAO"/> </bean> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitName" value="jbmlfPU"/> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="showSql" value="true" /> <property name="databasePlatform" value="org.hibernate.dialect.MySQLInnoDBDialect"/> </bean> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory"/> </bean> <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> <bean id="controleAdministrationSondagesDAO" class="com.jbmlf.ControleAdministrationSondagesDAO" scope="singleton"> <property name="entityManagerFactory" ref="entityManagerFactory"/> </bean> <tx:annotation-driven transaction-manager="transactionManager"/>
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 @Transactional public class ControleAdministrationSondagesDAO { private EntityManagerFactory entityManagerFactory; @PersistenceUnit public void setEntityManagerFactory(EntityManagerFactory entityManagerFactory) { System.out.println("I am set!!"); System.out.println("I am (arg): "+ entityManagerFactory); this.entityManagerFactory = entityManagerFactory; System.out.println("I am (instance variable set to): "+ this.entityManagerFactory); } public void save(Sondage sondage) { if(getEntityManagerFactory() == null) System.out.println("emf is null"); System.out.println("I am: "+ entityManagerFactory); EntityManager em = getEntityManagerFactory().createEntityManager(); if(em == null) System.out.println("em is null"); em.persist(sondage); } public EntityManagerFactory getEntityManagerFactory() { return entityManagerFactory; } }Ca ne commit pas!!
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 @Transactional(propagation = Propagation.REQUIRES_NEW) public void creerSondage(Sondage sondage) { System.out.println("creerSondage"); Sondage s = new Sondage(1); s.setDateCreation(new Date()); s.setDateDebut(new Date()); s.setDetailQuestion("How old R U?"); s.setIdentifiantAdministrateur(new Administrateur(1)); s.setIsQuestionMultiple(2); s.setNomSondage("Age Poll"); List<Reponsepossible> rps = new ArrayList<Reponsepossible>(); Reponsepossible rp1 = new Reponsepossible(1); rp1.setIdentifiantSondage(s); rp1.setDetailReponse("18-30"); Reponsepossible rp2 = new Reponsepossible(2); rp2.setIdentifiantSondage(s); rp2.setDetailReponse("30-50"); rps.add(rp1); rps.add(rp2); s.setReponsepossibleCollection(rps); controleAdministrationSondagesDAO.save(s); //em.persist(s); System.out.println("Fin creer sondage"); }
Quelqu'un a t il une idée?
Merci d'avance,
Julien.
Partager