Spring JPA
https://engkimbs.tistory.com/811?category=772527
[Spring JPA #1] JPA 시작 및 세팅하기
| JPA(Java Persistent API) JPA(Java Persistent API)는 자바의 영속성 관리와 ORM을 위한 표준 기술입니다. 기존 EJB ORM이던 Entity Bean을 JPA라 바꿔 체계화한 기술이죠. ORM(Object Relational Mapping)이란..
engkimbs.tistory.com
https://engkimbs.tistory.com/812?category=772527
[Spring JPA #2] JPA 엔티티 매핑
| @Entity 엔티티는 자바에서 객체지향적인 코드를 작성할 때 네이밍된 DB와 대응되는 클래스의 이름입니다. 보통 클래스와 같은 이름을 사용하기 때문에 값을 변경하지 않습니다. 값을 변경할 때는 @Entity(name..
engkimbs.tistory.com
https://engkimbs.tistory.com/814?category=772527
[Spring JPA #3] Entity 매핑 및 Value 타입 매핑
| Entity 매핑 및 Value 타입 매핑 프로젝트 구조 ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ └── tutorial │ │ │ └── springbootjpa │ │ │ ├── Account.java │..
engkimbs.tistory.com
https://engkimbs.tistory.com/815?category=772527
[Spring JPA #4] JPA 관계 매핑
| @ManyToOne 프로젝트 구조 ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ └── tutorial │ │ │ └── springbootjpa │ │ │ ├── Account.java │ │ │ ├── Address..
engkimbs.tistory.com
https://engkimbs.tistory.com/816?category=772527
[Spring JPA #5] JPA 엔티티 상태
| 엔티티 상태 JPA에서는 엔티티의 상태를 다음과 같이 나눈 후 사용자가 요청한 사항에 맞추어 관리하게 됩니다. Transient : JPA가 엔티티를 나타내는 객체에 대한 정보를 모르는 상태 Persistent : JPA가 엔티..
engkimbs.tistory.com
https://engkimbs.tistory.com/817?category=772527
[Spring JPA #6] JPA Cascade
| 엔티티 Cascade 엔티티 Cascade는 엔티티의 상태 변화를 전파시키는 옵션입니다. 단방향 혹은 양방향으로 매핑되어 있는 엔티티에 대해 어느 한쪽 엔티티의 상태(생성 혹은 삭제)가 변경되었을 시 그에 따른 변..
engkimbs.tistory.com
https://engkimbs.tistory.com/818?category=772527
[Spring JPA #7] JPA Fetch
| JPA Fetch JPA Fetch는 연관 관계의 엔티티를 어떻게 가져올 것인지를 정하는 정책입니다. Eager(초기) 혹은 Lazy(나중) 옵션을 지정하여 어떻게 연관 관계의 엔티티를 가져올 것인지를 정할 수 있습니다. | JPA..
engkimbs.tistory.com
https://engkimbs.tistory.com/819?category=772527
[Spring JPA #8] JPA Query
| JPQL (HQL) Java Persistence Query Language / Hibernate Query Language 를 의미하는 것으로써 데이터 베이스 테이블이 아닌, 엔티티 객체 모델 기반으로 쿼리를 작성하는 SQL과 유사한 구문입니다. JPA 또는..
engkimbs.tistory.com
https://engkimbs.tistory.com/821?category=772527
[Spring JPA #9] 스프링 데이터 JPA 원리 및 스프링 데이터 구성 요소
| 스프링 데이터 JPA 소개 및 원리 스프링 데이터 JPA에서는 다음과 같이 JpaRepository 인터페이스를 상속하는 인터페이스를 정의하면 이 인터페이스를 통해 RDBMS, NoSQL 등의 Repository와 데이터를 주고받을..
engkimbs.tistory.com
https://engkimbs.tistory.com/822?category=772527
[Spring JPA #10] 스프링 데이터 Common 리포지터리(Repository)
| 스프링 데이터 Common 리포지터리 예제 프로젝트 구조 ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ └── tutorial │ │ │ └── springbootjpa │ │ │ ├── Post.java..
engkimbs.tistory.com
https://engkimbs.tistory.com/823?category=772527
[Spring JPA #11] 스프링 데이터 리포지터리 인터페이스 정의하기(Spring Repository Interface)
| 스프링 데이터 리포지터리 인터페이스 정의하기( Spring Data Repository Interface ) 기본적으로 Spring JPA에서 제공하는 JpaRepository, CrudRepository를 사용하지만 만일 추가적인 기능을 개발하는 개발자..
engkimbs.tistory.com
https://engkimbs.tistory.com/824?category=772527
[Spring JPA #12] 스프링 데이터 Null 체크
| 스프링 데이터 Null 체크 스프링에서는 다음과 같이 null 체크를 할 수 있는 기능들을 제공하고 있습니다. @NoRepositoryBean public interface MyRepository<t, serializable="" extends=""> extends Repository<t..< p=""> </t..<></t,>
engkimbs.tistory.com
https://engkimbs.tistory.com/825?category=772527
[Spring JPA #13] 스프링 데이터 쿼리 만들기
| 스프링 데이터 쿼리 만들기 스프링 데이터에서 Repository 인터페이스 내에서 메서드명으로 쿼리를 만드는 방법은 다음과 같습니다. 메서드 이름을 분석해서 쿼리 만들기 (CREATE) 미리 정의해 둔 쿼리를 찾아..
engkimbs.tistory.com
https://engkimbs.tistory.com/826?category=772527
[Spring JPA #14] 스프링 데이터 커스텀 리포지터리 만들기
| 스프링 데이터 커스텀 리포지터리 스프링 데이터에서 제공하는 쿼리 메서드로 어떤 특정 비즈니스 로직을 구현하는 데 어려움이 있을 경우 직접 코딩으로 구현할 수 있습니다. | 스프링 데이터 커스텀 리포지터..
engkimbs.tistory.com
https://engkimbs.tistory.com/827?category=772527
[Spring JPA #15] 스프링 데이터 도메인 이벤트
| 스프링 데이터 도메인 이벤트 스프링 프레임워크에서는 주로 IoC 컨테이너에 접근하기 위한 ApplicationContext 인터페이스를 제공합니다. 이 ApplicationContext는 ApplicationEventPublisher를 상속받기 때문..
engkimbs.tistory.com
https://engkimbs.tistory.com/828?category=772527
[Spring JPA #16] 스프링 데이터 QueryDsl
| QueryDsl이란 QueryDsl은 Type-Safe한 쿼리를 위한 스프링에서 제공하는 Domain Specific Language입니다. SQL같이 문자로 Type Check가 불가능하고 실행하기 전까지 작동 여부를 확인 하기 어려운 부분을 보완..
engkimbs.tistory.com
https://engkimbs.tistory.com/829?category=772527
[Spring JPA #17] 스프링 데이터 DomainClassConverter
| 스프링 데이터 DomainClassConverter 스프링에서 Converter는 컨트롤러에 사용자 요청이 오게될 때, 요청값을 다른 타입으로 변환하여 컨트롤러의 메서드에 전달하는 역할을 하는 인터페이스를 의미합니다. Doma..
engkimbs.tistory.com
https://engkimbs.tistory.com/830?category=772527
[Spring JPA #18] 스프링 데이터 Pageable과 Sort
| 스프링 데이터 Pageable과 Sort 프로젝트 구조 ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ └── tutorial │ │ │ └── springevent │ │ │ ├── Application.java │..
engkimbs.tistory.com
https://engkimbs.tistory.com/831?category=772527
[Spring JPA #19] 스프링 데이터 HATEOAS
| 스프링 데이터 HATEOAS HATEOAS에 대한 설명은 아래 링크로 대신하겠습니다. [Spring/Spring Boot] - [Spring Boot #19] 스프링 부트 Spring HATEOAS | 스프링 데이터 HATEOAS 예제 프로젝트 구조 ├── src │..
engkimbs.tistory.com
https://engkimbs.tistory.com/832?category=772527
[Spring JPA #20] 스프링 부트 Spring JPA 엔티티 저장 메커니즘
| 스프링 데이터 JPA 엔티티 저장 상태 전이 스프링 데이터 JPA에서는 기본적으로 JpaRepository를 통해 DB와 상호작용하게 됩니다. JpaRepository는 save 메서드들 통해 DB에 엔티티 정보를 저장하게 됩니다. sav..
engkimbs.tistory.com
https://engkimbs.tistory.com/833?category=772527
[Spring JPA #21] Spring JPA 쿼리 메서드 및 정렬
| Spring JPA 쿼리 메서드 Spring JPA에서 DB에 쿼리를 날릴 때 사용할 수 있는 방법은 크게 3가지가 있습니다. 1. 리포지터리 메서드 2. @NamdeQuery 3. @Query [Spring/Spring JPA] - [Spring JPA #13] 스프링..
engkimbs.tistory.com
https://engkimbs.tistory.com/834?category=772527
[Spring JPA #22] Spring JPA Named Parameter, SpEL
| Named Parameter @Query 어노테이션을 통해서 매개변수를 ?1, ?2 꼴과 같이 참조하는 것이 아니라 이름으로 다음과 같이 참조할 수 있습니다. @Query("SELECT p FROM Post as p where p.title = :title") List<p..< p=""> </p..<>
engkimbs.tistory.com
https://engkimbs.tistory.com/835?category=772527
[Spring JPA #23] Spring JPA EntityGraph
| EntityGraph란 엔티티들은 서로 연관되어 있는 관계가 보통이며 이 관계는 그래프로 표현이 가능합니다. EntityGraph는 JPA가 어떤 엔티티를 불러올 때 이 엔티티와 관계된 엔티티를 불러올 것인지에 대한 정보..
engkimbs.tistory.com
https://engkimbs.tistory.com/836?category=772527
[Spring JPA #24] Spring JPA Projection
| Spring JPA Projection Spring JPA에서 제공하는 Projection 기능은 엔티티의 일부 데이터만을 가져오게 하는 기능입니다. Projection은 인터페이스 기반으로 구현되며 이 인터페이스를 가지고 Repository의 반..
engkimbs.tistory.com
https://engkimbs.tistory.com/837?category=772527
[Spring JPA #25] Spring JPA Specification
| Spring JPA Specification Spring JPA Specification은 Spring JPA에서 제공하는 검색 조건을 메서드 형태로 추상화하여 Repository 인터페이스에서 해당 검색 조건을 조합하고 쿼리하기 쉽게 할 수 있는 기능입..
engkimbs.tistory.com