我有以下JSF支持bean在我的webapp
@ManagedBean
class MyBackingBean implements Serializable {
private MyHibernateRepository repository;
...
@Transactional
public void save() {
....
repository.save(myObject);
}
}
当它到达repository.save
方法调用-我得到以下错误
no transaction is in progress
我有两个问题
- 这是因为一个错误的这样 ?
- 我认为有两种解决方法 - 是否有任何其他人呢?
2.1第一个解决方法 - 使用
transactionTemplate.execute(new TransactionCallbackWithoutResult() {
protected void doInTransactionWithoutResult(TransactionStatus status) {
repository.save(myObject);
}
});
2.2第二个解决方法
创建一个辅助类和标注该网址。
2.3(A可能的第三解决方法是注释@Transactional在内类的方法这是很相似到2.2)。