twocowsong

엔티티 수정 - 1 본문

IT/JPA

엔티티 수정 - 1

WsCode 2022. 5. 4. 20:44

깃허브 정리 URL : https://github.com/sWineTake/jpa.git

 

GitHub - sWineTake/jpa: 자바 ORM 표준 JPA 프로그래밍 - 김영한

자바 ORM 표준 JPA 프로그래밍 - 김영한. Contribute to sWineTake/jpa development by creating an account on GitHub.

github.com

SQL 수정 쿼리의 문제점

SQL을 사용하면 수정 쿼리를 직접 작성해야 합니다.

그런데 프로젝트가 점점 커지고 요구사항이 늘어나면서 수정쿼리도 점점 추가됩니다.

 

아래의 회원의 이름과 나이를 변경하는 SQL입니다.

UPDATE MEMBER
SET
	NAME = ?,
	AGE = ?
WHERE
    ID = ?

 

추후 회원의 등급을 변경하는 기능이 추가되면 쿼리가 아래처럼 수정되어야 합니다.

 

UPDATE MEMBER
SET
	GRADE = ?
WHERE 
	ID = ?

보통은 이렇게 2개의 수정 쿼리를 작성하고 2번의 호출 하거나 또는

2개의 쿼리를 하나로 합쳐서 새롭게 쿼리를 작성하여 한번을 실행합니다.

 

합친 쿼리를 사용해서 이름과 나이를 변경하는 데 실수로 등급 정보를 입력하지 않거나,

등급을 변경하는 데 실수로 이름과 나이를 입력하지 않을수 있습니다.

 

이런 개발 방식의 문제점은 수정 쿼리가 많아지는 것은 물론이고

비즈니스 로직을 분석하기 위해 SQL을 계속 확인해야합니다.

결국 직접적, 간적적이든 비즈니스 로직이 SQL에 의존하게 되어있습니다.

'IT > JPA' 카테고리의 다른 글

엔티티 삭제  (0) 2022.05.05
엔티티 수정 - 2  (0) 2022.05.05
영속성 컨텍스트 - 트랜잭션  (0) 2022.05.03
엔티티 컨텍스트의 1차 캐시  (0) 2022.05.02
영속성 컨텍스트의 특징  (0) 2022.05.01