我有几个方法
@persistanceContext
EntityManager em;
public Car getCar(int id) {
em.find(Car.class, id)
}
@Trasnactional
public void saveCar(Car car) {
em.save(car);
}
您是否还要为刚刚执行查找时调用的方法启动事务?
答案 0 :(得分:2)
最好在获取数据时使用Read-Only
事务。它将在读取时防止数据不一致,只读取已提交的数据。
再次提出最佳做法,也可以在没有Transaction
的情况下使用。
答案 1 :(得分:0)
不,没有必要。只有保存才需要使用@Transactional。
如果您使用此方法,如果方法中发生任何异常,这将回滚所有previoes操作(即insertinsa,删除)
它将基于do every thing or nothing principle