일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- JPA
- 멱등활용
- RFC723x
- org.apache.ibatis.binding.BindingException
- @Entity
- 무상태프로토콜
- DB방언
- 데이터베이스 방언
- fixedDelay
- 김영한JPA
- hibernate.dialect
- ERROR TYPE : org.apache.ibatis.binding.BindingException
- anyMatch
- KAKAOLOGINAPI
- HTTPMESSAGE
- Invalid bound statement (not found)
- 매핑정보가없는필드
- 네이버로그인API
- SpringBoot
- Git
- HTTP3
- 네이버 연결된 서비스
- Transaction not successfully started
- gitrevert
- http
- @Table
- initialDelay
- gitreset
- 캐쉬가능
- 자바ORM표준프로그래밍
Archives
- Today
- Total
twocowsong
엔티티 수정 - 1 본문
깃허브 정리 URL : https://github.com/sWineTake/jpa.git
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 |