
ORM (Object Relational Mapping) JPA를 이해하기 위해 알아야 하는 개념이다. 간단히 말하자면 객체지향 패러다임을 관계형 데이터베이스에 보존하는 기술이다. 패러다임 입장에서 생각하면 '객체지향 패러다임을 관계형 패러다임으로 매핑해주는 개념'이라고 볼 수 있다. ORM의 시작은 '객체지향'의 구조가 '관계형 데이터베이스'와 유사하...
특정한 범위의 객체를 검색하거나, like 처리가 필요한 경우, 여러 검색 조건이 필요한 경우를 처리하기 위해 Spring Data JPA가 제공하는 방법 쿼리 메서드 : 메서드의 이름 자체가 쿼리 구문으로 처리되는 기능 @Query : SQL과 유사하게 엔티티 클래스의 정보를 이용해서 쿼리를 작성하는 기능 Querydsl 등의 동적 쿼리 처리 기능 쿼리...

thymleaf
Thymeleaf의 레이아웃
Base Entity 작성하기

JPA의 쿼리 메서드 기능과 @Query를 통해서 많은 기능을 구현할 수 있지만, 선언할 때 고정된 형태의 값을 가진다는 단점이 있다. 이 때문에 단순한 몇 가지의 검색 조건을 만들어야 하는 상황에서는 기본 기능만으로 충분하지만, 복잡한 조합을 이용하는 경우의 수가 많은 상황에서는 동적으로 쿼리를 생성해서 처리할 수 있는 기능이 필요하다. Querydsl...
실제 프로젝트를 작성할 때는 엔티티 객체를 영속 계층 바깥쪽에서 사용하는 방식 보다는 DTO(Data Transform Object)를 이용하는 방식을 권장한다. DTO 각 계층에서 주고받는 우편물이나 상자의 개념 엔티티와 유사성 : 데이터를 담고 있음 엔티티와 차이점 읽기/쓰기 모두 허용 일회성으로 사용 JPA를 이용하게 되면 엔티티 객...

관계형 데이터베이스에서는 일대일, 일대다, 다대일, 다대다의 관계를 이용해서 데이터가 서로 간에 어떻게 구성되었는지를 표현한다. 이 표현에서 가장 중요한 것이 PK와 FK를 어떻게 설정해서 사용하는가이다. PK로 설계, FK로 연관관계 해석 JPA를 이용해서 연관관계를 해석할 때는 PK를 기준으로 잡고, 데이터베이스를 모델링하는 방식으로 구성한다. 예를 ...
left (outer) join 스프링 부트 2버전 이후에 포함되는 JPA 버전은 엔티티 클래스 내에 전혀 연관관계가 없더라도 조인을 이용할 수 있다. 조인을 할 때 INNER JOIN 혹은 JOIN과 같이 일반적인 조인을 이용할 수도 있고, LEFT OUTER JOIN, LEFT JOIN을 이용할 수도 있다. 엔티티 클래스 내부에 연관관계가 있는 경우 ...