【发布时间】:2012-10-29 08:42:18
【问题描述】:
我有一个 Transaction 对象列表。
List<Transaction> transactions;
我需要通过创建一个并发更新事务的线程池来批量处理这些事务。 这些线程使用相同的 DAO 类(Spring 单例 bean)更新这些事务以更新事务。我使用 Hibernate 作为 ORM
我应该考虑什么来确保我的代码是线程安全的?我有点困惑。
这是 DAO 类。 SessionFactory 也被定义为一个 Spring bean,然后自动装配到 DAO 类。
@Autowired
SessionFactory sessionFactory;
@Override
public Transaction update(Transaction transaction) {
Session session = sessionFactory.openSession();
session.beginTransaction();
session.update(transaction);
session.getTransaction().commit();
return transaction;
}
【问题讨论】:
标签: spring hibernate thread-safety batch-processing