在 spring 配置文件中,我有以下 bean:
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="EntryPU" />
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
当应用程序调用“remove”方法时:
@Override
public void remove(int id) {
entry = entityManager.find(Entry.class, id);
entityManager.remove(entry);
}
日志显示:
No transactional EntityManager available.
如何使其成为事务性的?
最佳答案
将@Transactional添加到方法中,使其在事务内运行。
@Transactional @Override
public void remove(int id) {
entry = entityManager.find(Entry.class, id);
entityManager.remove(entry);
}
关于java - 如何定义 @transactional 身份管理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32012847/