SQL Mapper
JdbcTemplate, MyBatis
개발자는 SQL만 작성하면 해당 결과를 객체로 편리하게 매핑
JDBC를 직접 사용할 때 발생하는 여러가지 중복 제거, 기타 편리한 기능들 제공
ORM
JPA, Hibernate, 스프링 데이터 JPA, Querydsl
기본적 SQL은 JPA가 대신 작성하고 처리
저장하고 싶은 객체를 마치 자바 컬렉션에 저장하고 조회하듯 사용하면 ORM 기술이 데이터베이스에 해당 객체 저장하고 조회
프로필
스프링은 로딩 시점에 application.properties의 spring.profiles.active 속성을 읽어 프로필로 사용
>> 로컬, 운영 환경, 테스트 실행 등 환경에 따라 다른 설정을 할 때 쓰는 정보
>> 로컬 PC에서는 PC에 설치된 데이터베이스에 접근해야 하고 운영 환경에서는 운영 데이터베이스에 접근해야 하면
>> 서로 설정 정보가 달라야 함
>> 프로필을 사용해서 환경에 따라 다른 스프링 빈 등록 가능
데이터베이스 식별자 선택 전략
데이터 베이스 기본 키 3가지 조건
1. null 값은 허용 x
2. 유일해야 함
3. 변해선 안됨
기본키 선택 전략 2가지
1. 자연 키(Natural Key)
비즈니스에 의미가 있는 키
>> 주민등록번호, 이메일, 전화번호
2. 대리 키(Surrogate Key)
임의로 만들어진 키, 대체 키
>> 오라클 시퀀스, auto_increment, identity, 키 생성 테이블 사용
자연 키보다 대리 키 권장
비즈니스 환경은 언젠가 변한다!!
출처 : 김영한, 스프링 DB 2편 - 데이터 접근 활용 기술
'Spring' 카테고리의 다른 글
DB / Test (0) | 2025.04.28 |
---|---|
DB / Spring JdbcTemplate (0) | 2025.04.27 |
DB / 스프링과 문제 해결 - 예외 처리, 반복 (0) | 2025.04.24 |
DB / 자바 예외 (0) | 2025.04.23 |
DB / 스프링과 문제 해결 - Transaction (0) | 2025.04.22 |