[英]Spring Transaction or Hibernate Transaction
我知道我发布了一个多余的问题。 我也浏览过SO和其他博客中的各种帖子,但是我需要在更多项目上加些清晰度,因此请在此处发布。
我使用Spring + Hibernate。 我要插入一些'n'记录。
MySpringController.java
@Transactional
@RequestMapping(...)
public String saveRecords(@ModelAttribute("orderObj") Order order){
for(Item item : order.getItems()){
itemDAO.save(item);
}
return "saveSuccess";
}
MyHibernateDAO类
public void save(Item item){
session = sf.openSession();
Transaction tx = session.beginTransaction();
session.persist(item);
tx.commit();
session.close();
}
问题:
Spring和Hibernate都启用了事务。 这是这样做的好习惯吗? 还是这两个部分中的交易就足够了?
在这种批量交易期间,建议使用session.openSession()或session.getCurrentSession()? 在批量提交期间每次打开和关闭交易是否是一种好习惯?
现在,如果发生回滚,它将在哪个范围内? 在Hibernate或Spring的交易下?
尽管事务管理的用法因应用程序而异,但根据我的经验,我可以指出一些重要的事情。
您不需要同时使用Hibernate和Spring事务。
以上几点基于我的经验,可能会因应用程序要求而异。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.