【发布时间】:2010-03-04 03:56:06
【问题描述】:
我希望有人能证实我对 Spring 服务中事务行为的理解。
首先,我是否正确地认为使用TransactionManager 时,必须从@Transactional 方法中调用所有导致数据库持久化的服务才能使更新持久化到数据库?
例如,给定以下类:
class MyService
{
CustomerImporter customerImporter
CustomerDAO customerDAO
public void updateCustomer(Customer customer)
{
customerDAO.update(customer)
}
public List<Customer> importCustomers(String url)
{
customerImporter.importCustomers(url);
}
return customerDAO.getFromURL(url);
}
如果updateCustomer不是@Transactional,这个方法会有影响吗?
此外,如果在CustomerImporter 上,方法importCustomers() 被标记为@Transactional 而MyService 没有,更新是否会被持久化到数据库中?
【问题讨论】:
标签: java hibernate spring transactions