JPA
-
Spring JPA(5) 게시판Spring 2020. 2. 18. 17:40
github : https://github.com/hodolee246/intellij-on-my-own/tree/master/demo Specification Specification을 적용하기 위해서는 Repository에 JpaSpecificationExecutor 인터페이스를 추가로 상속받아야 한다. public interface BoardRepository extends JpaRepository, JpaSpecificationExecutor { Page findAll(Specification specification, Pageable pageable); } Specification 클래스를 자신의 검색 조건에 맞게 재정의 해준다. Predicate (criteria에서 제공하는 클래스) Speci..
-
Spring JPA(4) 연관관계 매핑Spring 2020. 1. 30. 17:44
참고 : https://dotheright.tistory.com/267?category=777106 https://victorydntmd.tistory.com/208 연관관계 매핑 객체의 참조와 테이블의 외래키 매핑을 의미한다. JPA에서는 JDBC( Mybatis ) 를 사용했을 때와 달리 연관 관계에 있는 상대 테이블의 PK를 멤버변수로 갖지 않고, 엔티티 객체 자체를 통째로 참조한다. 1. 방향 단방향 관계 : 두 엔티티가 관계를 맺을 때, 한 쪽의 엔티티만 참조하고 있는 것을 의미한다. 양방향 관계 : 두 엔티티가 관계를 맺을 때, 양 쪽이 서로 참조하고 있는 것을 의미한다. 관계가 있는 엔티티는 다음 중 하나의 관계를 가지게 된다. Many To One - ( N : 1 ) 다대일 One To ..
-
Spring JPA(3) CRUD 기본 예제Spring 2020. 1. 30. 14:39
Github https://github.com/hodolee246/on-my-own/tree/master/JPASample03 MemberController.java package com.example.JPAsample03.member.controller; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Control..
-
Spring JPA(2) - 엔티티 매핑Spring 2020. 1. 29. 15:47
참고 블로그 https://dotheright.tistory.com/266?category=777106 https://doublesprogramming.tistory.com/260 1. 엔티티 매핑 종류 객체, 테이블 매핑 : @Entity, @Table 필드, 컬럼 매핑 : @Column 기본 키 매핑 : @Id 연관관계 매핑 : @ManyToOne, JoinColumn ※ 객체, 테이블 매핑 주의사항 기본생성자 필수(NoArgs) final, enum, interface, inner 클래스는 사용 불가능 저장할 필드에 final 사용 불가능 2. 테이블 매핑 @Table 어노테이션은 엔티티와 매핑할 테이블을 지정하고, 생략시 엔티티 이름을 테이블 이름으로 사용한다. 속성으로는 다음과 같다. name ..
-
Spring JPA(1) ORM, Hibernate(JPA), 영속성Spring 2020. 1. 22. 18:10
ORM(Object Relational Mapping) 객체형 데이터와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것을 말한다. ( SQL을 따로 작성하지 않아도 매핑 설정만으로 데이터 베이스의 테이 블 데이터를 JAVA 객체로 전달받을 수 있다. ) → ORM은 DBMS에 종속적이지 않음 → 개발 로직 코드에 집중가능 Hibernate ORM 프레임워크 → DB가 변경되어도 SQL를 수정할 필요가 없음 JPA(Java Persistent API) Hibernate, OpenJPA, TopLink, TopLink Essentials 등 ORM 구현체의 표준 인터페이스 JavaSE, JavaEE를 위한 영속성 관리, ORM을 위한 표준 기술 → DB변동이 생겨도 Entity만 변경해주면 됨 → 자동..