我知道类似的问题之前在这里已经被问过,但我找不到解决我的问题的方法。基本上,我正在尝试通过Spring中的Hibernate使用JPA,但由于某种原因数据没有被持久化。在Spring事务调试中打开后,没有发现任何问题-EntityManager打开和关闭,但就事务管理器而言,没有任何显示...我确定我错过了一些重要的东西,任何帮助都将不胜感激!请参阅以下详情。
TIA
奥利弗
基本布局如下:类FooDaoJPA的保存函数调用entityManager.persist(object)以持久化对象。
类FooServiceImpl通过实现服务接口来实现服务接口:
TIA
奥利弗
基本布局如下:类FooDaoJPA的保存函数调用entityManager.persist(object)以持久化对象。
类FooServiceImpl通过实现服务接口来实现服务接口:
@Transactional(rollbackFor = DataAccessException.class,
readOnly = false, timeout = 30,
propagation = Propagation.SUPPORTS,
isolation = Isolation.DEFAULT)
public void saveFoo(Foo foo) throws DataAccessException {
fooDao.save(foo);
}
请注意,fooDao
是由Spring IoC注入的。
最后,控制器被注入了一个FooService
并调用saveFoo()
来持久化数据。
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"/>