Я разработал программу jDA с пружинными данными, используя this учебник. Затем изменил его, добавив новый класс/метод для проверки аннотации @Transactional весны.Ошибка компиляции при использовании @Transactional с атрибутом распространения
@Transactional
public void txnMethod() {
repository.save(new Customer("First Customer",""));
repository.save(new Customer("Second Customer",""));
...
}
Приведенный выше код скомпилирован и выполнен правильно. Затем я изменил код, чтобы Явно установить режим распространения, как показано ниже, но это дает мне ошибку компиляции - «распространение Атрибут не определен для типа аннотаций транзакционного»
@Transactional(propagation=Propagation.REQUIRED)
public void txnMethod() {
repository.save(new Customer("First Customer",""));
repository.save(new Customer("Second Customer",""));
...
}
Как я могу указать распространение режим явно? Ниже приведены зависимости в build.gradle. Am с помощью пружинного версии загрузчика 1.2.1.RELEASE
dependencies {
compile("org.springframework.boot:spring-boot-starter-jdbc")
compile("org.springframework.boot:spring-boot-starter-data-jpa")
compile("org.springframework.boot:spring-boot-starter-web")
compile ("org.springframework.boot:spring-boot-starter-tomcat")
compile("com.h2database:h2")
providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
}
Является ли ваш '@ Transactional'' javax.transaction.Transactional' или 'org.springframework.transaction.annotation.Transactional'? Более поздний найден в 'spring-tx.jar' и поддерживает' Распространение', который также находится в 'spring-tx.jar'. – manish
@Transactional - это импорт javax.transaction.Transactional * –
Возникла проблема. Вам нужно использовать 'org.springframework.transaction.annotation.Transactional'. – manish