변경감지란?
- 변경감지가 발생하기 위해서는 @Transactional 어노테이션을 관련메소드에 모두 적용
- 즉 하나의 트랜잭션에 묶여 있어야 함
- Controller
memberService.insertName("userId", "userName1");
- Service
@Transactional
public void insertName(String Id, String Name) {
memberRepository.insertName(Id, Name);
}
- Repository
@Transactional
public void insertName(String Id, String Name) {
Member member = findOneById(Id);
member.setUserName(Name);
}
- 수동으로 변경된 데이터를 저장하고 싶은 경우 save해줘야 함
public void insertName(String Id, String Name) {
Member member = findOneById(Id);
member.setUserName(Name);
memberRepository.save(member);
}