jpa
-
Spring Boot - JPA를 사용한 데이터 조작Framework & Library 2022. 2. 4. 00:00
JPA를 사용한 데이터 조작 ✔️ Entity 생성 @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor @Builder @Table(name = "product") public class ProductEntity { @Id private String productId; private String productName; private int productPrice; private int productStock; } ㆍ DB의 테이블과 직접적으로 매핑되는 클래스이다. 애너테이션 설명 @Entity 해당 애너테이션을 클래스에 붙이면 JPA가 해당 클래스를 관리하게 된다. @Builder 해당 애너테이션을 사용하게 되면 객체를 생성할 때 생성자를 통해..
-
Spring Boot - ORM이란?Framework & Library/Spring Boot 2022. 2. 3. 23:59
ORM(Object Relational Mapping) ORM이란? - 애플리케이션의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것을 의미한다. 즉, Java의 데이터 클래스와 관계형 데이터베이스의 테이블을 매핑해주는 것이다. - 객체지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용하기 때문에 객체 모델과 관계형 모델 간에 불일치가 존재한다. 이러한 차이로부터 발생하는 제약사항을 해결해주는 역할을 수행하는 것이 바로 ORM 기술이다. - ORM 기술의 대표적인 예로 JPA, Hibernate 등이 있다. ORM의 장점 - SQL 쿼리가 아닌 직관적인 코드로 데이터를 조작할 수 있다. ㆍ 개발자가 보다 비즈니스 로직에 집중하여 개발할 수 있다. - 재사용 및 유지보수가..
-
Spring Boot - JPA의 영속성 컨텍스트Framework & Library/Spring Boot 2021. 12. 2. 13:36
영속성 컨텍스트의 정의 개요 Spring Boot를 사용하고 있는 요즘에는 Spring 프레임워크에 맞춰져 있는 Spring Data JPA를 사용한다. 그런데, Spring Data JPA를 사용하면서 객체에 있는 데이터들이 스스로 변화를 감지하고, 객체의 데이터가 자동으로 변경, 생성, 삭제가 이루어지는데, 이 과정이 어떻게 가능한지 영속성 컨텍스트를 통해 알아보고자 한다. 영속성 컨텍스트란? 영속성 컨텍스트란, Entity를 영구적으로 저장하는 환경을 말한다. Spring으로 JDBC를 이용하여 개발을 해본 사람들은 DB에 있는 데이터가 어떤 식으로 읽히고 쓰이는 건지 이해할 수 있을 것이다. 간단하게 요약하자면, 다음과 같다. Connection 생성 - Connection 연결 - Stateme..
-
Spring Boot - JPAFramework & Library/Spring Boot 2021. 12. 1. 14:37
JPA의 정의 JPA란? JPA는 Java Persistence API의 약자로 Java에서 관계형 DB를 사용하기 위한 양식을 정의한 인터페이스이다. 말 그대로 인터페이스이기 때문에, 어떤 코드가 구현되어 있는 것은 아니다. 단지, Java라는 객체 지행 프로그래밍 언어에서 관계형 DB를 객체 지향적으로 설계하기 위한 모범 사례를 JPA라고 하는 것이다. 즉, Java 진영에서 ORM 기술 표준으로 애플리케이션과 JDBC 사이에서 동작하는 것이다. 여기서 ORM이란, Object Relationship Mapper의 약자이다. JDBC나 Spring JDBC, iBatis 같은 경우 DB 처리를 위해 로직을 별도로 작성하고, 이를 SQL 코드를 통해 질의하였는데, ORM은 SQL 코드를 작성하지 않고,..