JPA
-
[JPA] JPA 소개강의노트/JPA - 기본편 2021. 3. 31. 10:25
SQL 중심적인 개발의 문제점 지금 시대는 객체를 관계형 DB에 관리 객체를 관계형 데이터베이스에 저장 객체를 자바 컬렉션에 저장 하듯이 DB에 저장할 수는 없을까? JPA의 탄생 배경 SQL 중심적인 개발의 문제점 무한 반복, 지루한 코드 (CRUD) SQL 의존적인 개발을 피하기 어렵다 패러다임의 불일치 객체 vs 관계형 데이터베이스 객체와 관계형 데이터베이스의 차이 상속 연관관계 참조 vs FK를 이용한 조인 객체는 한 방향으로 관계를 맺음 vs 테이블은 양방향으로 관계를 맺음 데이터 타입 데이터 식별 방법 객체 그래프 탐색 객체는 자유롭게 객체 그래프를 탐색할 수 있어야 한다. '.'을 찍어서 연관된 객체를 탐색하는 것을 객체 그래프 탐색이라 한다. 객체 그래프 탐색은 처음 실행하는 SQL에 따라..
-
[Java] JPA (Java Persistence API)자바/기타 2021. 3. 23. 10:07
ORM (Object-Relation Mapping, 객체-관계 매핑) vs SQL Mapper ORM은 DB 테이블을 자바 객체로 매핑함으로써 객체관의 관계를 바탕으로 SQL을 자동으로 생성하지만, Mapper는 SQL을 명시해주어야 한다. ORM은 RDB의 관계를 Object에 반영하는 것이 목적이라면, Mapper는 단순히 필드를 매핑시키는 것이 목적이라는 점에서 지향점의 차이가 있다. JPA (Java Persistence API) 자바 ORM 기술의 표준 명세로, 스프링에서 제공하는 것이 아닌 JAVA에서 제공하는 API이다. 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다. 스프링의 PSA(POJO를 사용하면서 특정 기술을 사용)에 의해서 표준 인터페이스를 정해..
-
[JPA] QueryDsl에서 Pageable 객체를 이용한 Sort 방법스프링프레임워크/jpa 2020. 9. 9. 12:45
우선 Order, Path, fieldName을 전달하면 OrderSpecifier 객체를 리턴하는 Util 클래스를 작성해서 Sort시 마다 사용할 수 있도록 한다. Path 파라미터는 compileQuerydsl 빌드를 통해서 생성된 Q타입 클래스의 객체이다. Sort의 대상이 되는 Q타입 클래스 객체를 전달한다. import com.querydsl.core.types.Order; import com.querydsl.core.types.OrderSpecifier; import com.querydsl.core.types.Path; import com.querydsl.core.types.dsl.Expressions; public class QueryDslUtil { public static OrderSp..