【JPA】@Modifying使用的问题
控制台错误日志:
Caused by: javax.persistence.TransactionRequiredException: Executing an update/delete query
DAO层:
@Modifying
@Query(nativeQuery = true, value = "DELETE FROM user t WHERE t.user_name= ?1 AND t.user_id = ?2")
void deleteByUserNameAndUserId(String userName, String userId);
Service层:
public Optional<String> deleteUser(String userName, String userId) {
userRepository.deleteByUserNameAndUserId(userKey, type);
// 省略其它业务逻辑
}
解决方法:
在DAO层方法上添加@Transactional
@Modifying
@Transactional
@Query(nativeQuery = true, value = "DELETE FROM user t WHERE t.user_name= ?1 AND t.user_id = ?2")
void deleteByUserNameAndUserId(String userName, String userId);
原因:

Spring Data JPA - Reference Documentation

浙公网安备 33010602011771号