普通java应用程序中的Spring数据jpa提交?
在普通java应用程序中使用spring和spring数据jpa时,jpa如何知道何时将数据提交到数据库 我这样问是因为repository.save()不提交 我应该手动提交还是spring可以帮我处理 我的应用程序上下文xml:普通java应用程序中的Spring数据jpa提交?,java,spring,spring-data,spring-data-jpa,Java,Spring,Spring Data,Spring Data Jpa,在普通java应用程序中使用spring和spring数据jpa时,jpa如何知道何时将数据提交到数据库 我这样问是因为repository.save()不提交 我应该手动提交还是spring可以帮我处理 我的应用程序上下文xml: <context:component-scan base-package="..."> </context:component-scan> <jpa:repositories base-package="..." entit
<context:component-scan base-package="...">
</context:component-scan>
<jpa:repositories base-package="..." entity-manager-factory-ref="emf" />
<bean id="emf" class="...spring.MyEMF"></bean>
<!-- Add Transaction support -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="emf" />
</bean>
<!-- Use @Transaction annotations for managing transactions -->
<tx:annotation-driven transaction-manager="transactionManager" />
没有spring可以在方法存储库之前为您处理事务。save()add@Transactional
@Transactional
public void save(){
//do something
}
在您的配置类中,确保启用了spring事务处理
@EnableTransactionManagement
class myConfig{
}
没有spring可以在方法存储库之前为您处理事务。save()add@Transactional
@Transactional
public void save(){
//do something
}
在您的配置类中,确保启用了spring事务处理
@EnableTransactionManagement
class myConfig{
}
尝试使用repository.saveAndFlush()尝试使用repository.saveAndFlush()嗯,我好像错了,save()确实提交了。似乎spring数据jpa crud方法(如save)在默认情况下是@transactional的。我已经启用了记录器org.springframework.orm.jpa.JpaTransactionManager来查看详细信息。我需要做一些研究。我很快就会回来的。嗯,看来我错了,save()确实有问题。似乎spring数据jpa crud方法(如save)在默认情况下是@transactional的。我已经启用了记录器org.springframework.orm.jpa.JpaTransactionManager来查看详细信息。我需要做一些研究。我很快就会回来。