Printemps+JPA @Transactional pas commettre

Je comprends la question similaire a été demandé avant ici, mais je ne pouvais pas trouver la solution à mon problème. En gros, je suis en train d'utiliser JPA par Hibernate au Printemps, mais les données sont pas être persisté pour une raison quelconque.Tournant sur le niveau de debug printemps transaction ne révèle rien d' - EntityManager ouvert et fermé, mais rien d'aussi loin que le gestionnaire de transactions de soucis ... je suis sûr que je manque quelque chose de grand, de toute aide est appréciée! consultez la rubrique suivante pour plus de détails.

TIA

Oliver

La mise de base est comme suit: catégorie FooDaoJPAs’enregistrer les appels de fonction hors entityManager.persist(object) de persister l'objet.

classe FooServiceImpl implémente l'interface de service par:

@Transactional(rollbackFor = DataAccessException.class,
                    readOnly = false, timeout = 30,
                    propagation = Propagation.SUPPORTS,
                    isolation = Isolation.DEFAULT)
 public void saveFoo(Foo foo) throws DataAccessException {
        fooDao.save(foo);
}

De noter que fooDao est injecté par le Printemps Cio

Enfin contrôleur est injecté un FooService et appel saveFoo() pour conserver les données.

Configuration JPA

<!-- JPA Entity Manager Factory -->
<bean id="entityManagerFactory" 
          class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
          p:dataSource-ref="feDataSource"/>

<!-- Transaction Config -->
<bean id="transactionManager"
          class="org.springframework.orm.jpa.JpaTransactionManager"
          p:entityManagerFactory-ref="entityManagerFactory"/>

<tx:annotation-driven mode="aspectj"                        
transaction-manager="transactionManager"/>
  • supprimer rollbackFor = DataAccessException.class et surround dao appel avec des try catch pour but de débogage
InformationsquelleAutor Oliver | 2011-03-05