다른 자료들을 참고하다 보니 작성과 수정 부분에서 같은 메서드인 save()를 사용하는 분들이 많은 것을 발견하였습니다.
그래서 save()의 쿼리를 살펴보니 공통적으로 사용하는 쿼리가 한개 있었는데 select 쿼리 였습니다. 그래서 자료를 찾다가 insert()와 update()의 차이는 식별자의 존재 유무로 판단하는 것을 알았습니다.
정리를 하자면
JpaRepository의 save메소드를 호출할 때 엔티티에 식별자 값이 지정되어있으면 내부적으로 select쿼리가 선 실행된다. select 쿼리를 실행한 결과에 따라서 다음에 실행할 쿼리가 결정된다 입니다.
그 이후에는
테이블에 지정한 식별자 값이 없는 경우 - insert 쿼리 실행
테이블에 지정한 식별자 값이 이미 존재하는 경우 - update 쿼리 실행
테이블에 지정한 식별자 값이 이미 존재하지만 데이터의 변경이 없는 경우 - 쿼리 실행 안함
로 정리할 수 있습니다!