본문 바로가기

728x90
반응형

Spring 정리/Spring JPA

(19)
Entity 개요 JPA를 사용하면, 기본은 엔티티(Entity)를 설정해 주는 것입니다. 일반 DB 테이블들을 어플리케이션 코드에서 매칭하기 위해서 설정합니다. 엔티티설정에는 필수적인 @Entity, @Id부터 유용한 설정들이 있습니다. 필수 값 지정 JPA로 DB를 사용하기 위해서 테이블이라는 의미로 엔티티를 지정해주어야 합니다. - @Entity, @Id 2개가 필수값입니다. @Id를 설정하는 방법 @Id는 보통 1씩 증가하는 Long 타입을 사용하여 유일성을 보장하도록 합니다. 이떄, @GeneratedValue를 사용하는데, entity PK를 설정하기 위한 키 생성 전략입니다. (default는 AUTO이다) @Entity @Data @NoArgsConstructor public class User { @..
JPA 영속성 컨텍스트 개요 일반적으로 Spring Data Jpa를 사용하여 간단한 CRUD를 작업할 수 있습니다. 쉽게 사용 가능한 이유는, 해당 메서드들이 인터페이스에 추상화되어 있어 개발자는 가져다가 사용만 하면 되기 때문입니다. 한 단계 깊이 들어가서, 해당 인터페이스를 구현한 SimpleJpaRepository를 보면, Entity Manager를 통해 각 메서드들을 직접 구현했음을 확인 할 수 있습니다. 해당 기능으로 제어하는 JPA의 중요한 개념인 영속성의 동작 원리를 알아보겠습니다. 영속성 컨텍스트란? 영속성 컨텍스트는 "엔티티를 영구 저장하는 환경"이라는 뜻입니다. EntityMnager.persist(entity); 가 대표적인 코드입니다. 영속성 컨텍스트는 논리적인 개념으로, 눈에 보이지 않지만, Enti..
JPA 개요 JPA는 Spring에서 기존에 Mybatis 사용을 대체하는 새로운 기술로 많이 사용합니다. 사용 방법과 문법은 공부했지만, 어떤 기술이고 어떻게 등장했는지 조사해보려고 합니다. 텍스트로만 보면 이해가 잘 되지 않기 때문에, 사진을 보고서 이해해보겠습니다. ORM, JPA, Spring Data JPA, Hiberante 등을 같이 살펴보겠습니다. ORM(Object–Relational Mapping) ORM은 객체지향 패러다임을 사용하여 이기종 시스템끼리 데이터를 변환하기 위해서 사용하는 기술입니다. Java에서 ORM 계층은 Java 클래스와 객체를 관계형 데이터베이스에 저장하고 관리할 수 있도록 변환합니다. 기존에 SQL DBMS와 같은 데이터베이스는 객체지향적이지 않고, 테이블에 정의된 i..

728x90
반응형