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;
        }
    }
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");
        }
Ca ne commit pas!!

Quelqu'un a t il une idée?

Merci d'avance,

Julien.