Я хотел знать, когда нам следует использовать @Transactional в Spring Boot Services.
Поскольку метод save() JpaRepository помечен @Tranasactional code> необходимо ли мне добавлять эту аннотацию в мой метод службы?
Я видел пару статей, в которых говорилось, что если внутри вашего метода службы используется только репозиторий ( как в приведенном ниже сценарии), то нет необходимости помещать @Transactional в метод службы, поскольку save() уже помечено @Transactional. Это правда?
class EmployeeService {
@Autowired
EmployeeRepository repo;
@Transactional //(Is it required here?)
public void saveEmployee(Employee employee) {
repo.save(employee)
}
}
Следует ли использовать его в приведенном ниже случае в методе getStudentsWithNameStartsWithAndGradeLessThan(), поскольку мы используем более одного репозитория?
@Getter
@Setter
@Entity
@Table(name = "student")
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "average_grade")
private Short averageGrade;
}
public interface StudentRepository extends JpaRepository {
Set findByAverageGradeLessThan(Short averageGrade);
Set findByNameStartsWithIgnoreCase(String name);
}
@Service
public class StudentService {
private final StudentRepository studentRepository;
public StudentService(StudentRepository studentRepository) {
this.studentRepository = studentRepository;
}
@Transactional //(Is it required here?)
public Set getStudentsWithNameStartsWithAndGradeLessThan(String prefix, Short averageGrade) {
Set students = studentRepository.findByNameStartsWithIgnoreCase(prefix);
students.retainAll(studentRepository.findByAverageGradeLessThan(averageGrade));
return students;
}
}
Подробнее здесь: https://stackoverflow.com/questions/781 ... annotation
Когда нам следует использовать аннотацию @Transactional? ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1729718886
Anonymous
Я хотел знать, когда нам следует использовать @Transactional в Spring Boot Services.
Поскольку метод save() JpaRepository помечен @Tranasactional code> необходимо ли мне добавлять эту аннотацию в мой метод службы?
Я видел пару статей, в которых говорилось, что если внутри вашего метода службы используется только репозиторий ( как в приведенном ниже сценарии), то нет необходимости помещать @Transactional в метод службы, поскольку save() уже помечено @Transactional. Это правда?
class EmployeeService {
@Autowired
EmployeeRepository repo;
@Transactional //(Is it required here?)
public void saveEmployee(Employee employee) {
repo.save(employee)
}
}
Следует ли использовать его в приведенном ниже случае в методе getStudentsWithNameStartsWithAndGradeLessThan(), поскольку мы используем более одного репозитория?
@Getter
@Setter
@Entity
@Table(name = "student")
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "average_grade")
private Short averageGrade;
}
public interface StudentRepository extends JpaRepository {
Set findByAverageGradeLessThan(Short averageGrade);
Set findByNameStartsWithIgnoreCase(String name);
}
@Service
public class StudentService {
private final StudentRepository studentRepository;
public StudentService(StudentRepository studentRepository) {
this.studentRepository = studentRepository;
}
@Transactional //(Is it required here?)
public Set getStudentsWithNameStartsWithAndGradeLessThan(String prefix, Short averageGrade) {
Set students = studentRepository.findByNameStartsWithIgnoreCase(prefix);
students.retainAll(studentRepository.findByAverageGradeLessThan(averageGrade));
return students;
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78132448/when-should-we-use-transactional-annotation[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия