
현재 개발하고 있는 mmebot 에는 DB 에 제약 조건을 걸지 않을 셈이다.
이유는
먼저 프로토 타입으로 출시 후, 빠르게 기능 추가를 할 것이기 때문에 DB 가 확확 바뀔 가능성 있음. (99.99% 바뀔 것임.)
제약 조건이 걸려있으면 변경이 어려웁자나 ㅜㅜ 힝
(당연히)애플리케이션에는 제약 조건을 걸 것이다.

나는 JPA 를 사용하니까 Entity 에 이런 식으로 ㅎㅎㅎㅎ
헌데 여기서 의문이 하나 생겼다.
논리적 제약 조건을 사용할 때 애플리케이션에 검증 코드를 추가해야 할까?
흠...
1차원적으로는
-> 어차피 Entity 에 제약 조건을 걸어놔서 JPA 가 알아서 걸러주지 않나..? 라고 생각했음
-> 앱을 통하는 insert , update 등은 JPA 가 전부 막아줄 테니까.. 굳이..?
-> DB 에 직접 CUD 등을 하지 않으면 되잖아?.?
그런데 좀 더 생각해보면..

-> DB 에 직접 CUD 등을 하지 않으면 되잖아?.? ->>>> 운영 환경에서 DB 를 직접 만지는 순간이 100% 있을 수밖에 없음.
그 뜻은 제약조건에 위배된 데이터가 들어올 가능성이 99.9% 존재한다는 것.
그런데 DB에 검증 코드를 추가하지 않는 것은 갱장히 짧은 생각일 수 있다..
그리하여 나는 반드시 데이터를 가져오기 전 제약 조건을 검증하겠다고 결심을 하였는데...
(바로 다음 글에 계속)
728x90
반응형
'개발 잡담' 카테고리의 다른 글
| 2년차 개발자가 되어버린 나. 회고록. (1) | 2026.02.06 |
|---|---|
| @Transactional 은 최소화, fetch join 최대화 (1) | 2025.12.18 |
| Virtual Thread 가 뭣이당가? (1) | 2025.10.05 |
| 인생 처음으로 개발자로서 지냈던 지난 1년을 회고하며 (2) | 2024.12.19 |
| DB ) N+1 문제는 왜 나쁜 걸까? (1) | 2024.12.09 |