Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Boot:crudepository方法是@Transactional,我的服务可以';不可能_Java_Spring_Transactions_Spring Data Jpa - Fatal编程技术网

Java Spring Boot:crudepository方法是@Transactional,我的服务可以';不可能

Java Spring Boot:crudepository方法是@Transactional,我的服务可以';不可能,java,spring,transactions,spring-data-jpa,Java,Spring,Transactions,Spring Data Jpa,我有一个Spring Boot应用程序,我面临一个奇怪的问题 我试图使我的一个服务方法具有事务性,但这不起作用 我的服务如下所示: 这意味着SimpleParepository的每个方法都是事务性的,这在我们查看其代码时是正确的: @Transactional public <S extends T> S save(S entity) { if (entityInformation.isNew(entity)) { em.persist(entity);

我有一个Spring Boot应用程序,我面临一个奇怪的问题

我试图使我的一个服务方法具有事务性,但这不起作用

我的服务如下所示:

这意味着SimpleParepository的每个方法都是事务性的,这在我们查看其代码时是正确的:

@Transactional
public <S extends T> S save(S entity) {

    if (entityInformation.isNew(entity)) {
        em.persist(entity);
        return entity;
    } else {
        return em.merge(entity);
    }
}
@Transactional
公共存储(S实体){
if(entityInformation.isNew(实体)){
em.persist(实体);
返回实体;
}否则{
返回em.merge(实体);
}
}

那么,我如何解决这个问题呢?

您是否在配置中添加了@EnableTransactionManagement?是的,我尝试过,但没有改变任何事情。我读到我们不必添加这个注释,因为SpringBoot会隐式添加它
public interface DeploiementDAO extends CrudRepository<Deploiement, Integer>
{
    List<Deploiement> findByUniteOperationnelle(UniteOperationnelle uo);
}
2017-05-02 19:38:24.297 TRACE 7760 --- [io-8080-exec-79] o.s.t.i.TransactionInterceptor           : Getting transaction for 
[org.springframework.data.jpa.repository.support.SimpleJpaRepository.findOne]
2017-05-02 19:38:24.310 TRACE 7760 --- [io-8080-exec-79] o.s.t.i.TransactionInterceptor           : Completing transaction for [org.springframework.data.jpa.repository.support.SimpleJpaRepository.findOne]
2017-05-02 19:38:24.312 TRACE 7760 --- [io-8080-exec-79] o.s.t.i.TransactionInterceptor           : Getting transaction for [org.springframework.data.jpa.repository.support.SimpleJpaRepository.findOne]
2017-05-02 19:38:24.323 TRACE 7760 --- [io-8080-exec-79] o.s.t.i.TransactionInterceptor           : Completing transaction for [org.springframework.data.jpa.repository.support.SimpleJpaRepository.findOne]
2017-05-02 19:38:24.324 TRACE 7760 --- [io-8080-exec-79] o.s.t.i.TransactionInterceptor           : Don't need to create transaction for [org.springframework.data.jpa.repository.support.SimpleJpaRepository.findByUniteOperationnelle]: This method isn't transactional.
2017-05-02 19:38:24.449 TRACE 7760 --- [io-8080-exec-79] o.s.t.i.TransactionInterceptor           : Getting transaction for [org.springframework.data.jpa.repository.support.SimpleJpaRepository.save]
2017-05-02 19:38:24.450 TRACE 7760 --- [io-8080-exec-79] o.s.t.i.TransactionInterceptor           : Completing transaction for [org.springframework.data.jpa.repository.support.SimpleJpaRepository.save]
@Transactional
public <S extends T> S save(S entity) {

    if (entityInformation.isNew(entity)) {
        em.persist(entity);
        return entity;
    } else {
        return em.merge(entity);
    }
}