控制台错误日志:
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