ORM(Object Relational Mapping)
객체지향 언어를 이용하여, 서로 호환되지 않는 타입 간의 데이터를 변환하는 기술
Apache iBatis
SQL 데이터 베이스와 객체 간 매핑을 지원해주는 persistence framework
Spring Data JPA 인터페이스
단계별로 필요한 기능까지만 사용 가능
- Repository: 기본 repository 인터페이스, 어떤 메소드도 제공하지 않음
- CrudRepository: Repository + CRUD 기능 제공
- PagingAndSortingRepository: CrudRepository + 페이징, 정렬 기능 제공
- JpaRepository: PagingAndSortingRepository + Spring Data JPA repository 전체 기능
인터페이스에 작성한 메소드 이름이 곧 쿼리 표현이 됨
ex: List<Event>findByEventStatusAndEventNameOrCapacity(String eventStatus, String eventName, Integer capacity);
- 다이나믹 쿼리를 만들 수는 없음
- 사용 가능한 키워드
- distinct, and, or, is, not, between, lessThan, lessThanEqual, greaterThen, greaterThenEqual
- null, isNotNull, like, startingWith, endingWith, containing, orderBy, in true, false, ignoreCase
- join 등 복잡한 표현은 불가
@Param: 쿼리 메소드 입력 파라미터에 사용하여 애노테이션 기반 파라미터 바인딩할 때 사용
@QUERY: 직접 JPQL을 작성하고 싶을 때 사용
@ NoReositoryBean: 빈으로 등록하고 싶지 않은 인터페이스를 지정할 수 있음
- 특정 쿼리 메소드를 기본 메소드로 지정하는 방식으로 운영 가능
- 특정 메소드를 선택적으로 사용하거나 api에 노출하고자 할 때도 사용하는 테크닉
'Today I Learned' 카테고리의 다른 글
mustache로 권한 체크하기 (0) | 2022.02.20 |
---|---|
MockMvc (0) | 2022.02.03 |
gitignore 자동 생성 및 인텔리제이에서 gitignore 생성 (0) | 2021.12.24 |
중간 기능 정리(스프링 부트와 AWS로 혼자 구현하는 웹 서비스 실습) (0) | 2021.12.17 |
kendogrid 한번에 update, create 하기 (0) | 2021.12.16 |