0
我使用Spring 3.1.1.RELEASE,休眠4.1.0.Final,JPA 2.0和MySQL 5.5我定義我的交易Spring應用程序上下文文件中像這樣:如何製作調用另一種服務方法事務性的服務方法?
<jee:jndi-lookup jndi-name="java:jboss/springboard/sbpersistence" id="entityManagerFactory"
expected-type="javax.persistence.EntityManagerFactory" />
<bean id="entityManager" class="org.springframework.orm.jpa.support.SharedEntityManagerBean">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<tx:jta-transaction-manager />
我有一個春季服務類具有以下方法:
@Service
@Transactional
public class UserServiceImpl implements UserService
{
@Override
public User create(String firstName,
String middleName,
String lastName,
String userName,
String password,
String url,
Role role,
Organization org,
final Set<Contract> contracts)
{
…
return userDao.save(user);
}
@Override
public User createSampleUser(String firstName,
String middleName,
String lastName,
String userName,
String password,
String url,
Role role,
State state,
List<Product> products,
Date activationDate,
Date expirationDate)
{
…
return create(firstName,
middleName,
lastName,
userName,
password,
url,
role,
sampleDistrict,
contracts);
}
請注意,第二種方法調用第一種服務方法。我的問題是什麼是適當的註釋(如果有的話),以表明我希望第二種方法中的所有內容都被視爲原子工作單元?自從我的第一個方法自動執行@Transactional以來,我感到困惑。
謝謝 - 戴夫
嗨,這是我正在尋找的對立面。當我說「我希望第二種方法中的所有內容都被當作原子工作單元」時,我的意思是說我希望事務成爲第二種方法所做的事情+第一種方法,而不是2個事務 - 第二種方法做一些東西,然後調用第一種方法。這是否有道理我在問什麼? – Dave
@Dave根據您的意見更新了我的答案。 –