使用@Transactional和Spring模板有什么区别?


问题内容

如果我在DAO中使用@Transactional,我所有的EntityManager查询是否都将用commit和close封装?还是我需要使用Spring模板(JPA模板,Hibernate模板)?使用@Transactional和Spring模板有什么区别?


问题答案:

使用基于注释的事务划分(@Transactional)和之间的区别TransactionTemplate是,TransactionTemplate您将与Spring的事务基础结构耦合,这意味着如果应回滚事务,则将以编程方式处理设置事务状态。您可以将基于注释的事务划分与Spring事务支持一起使用,也可以与Spring容器外部的AspectJ事务一起使用。

另请参阅在线文档以了解Spring中的交易