Programming/JPA
-
서론 Spring Boot를 사용하면서 JPA라는 ORM을 사용한다. JPA를 사용하고 있지만 ORM에 대해 상세히 본 적이 없어 이에 대해 정리해본다. ORM이란? ORM : Object - Relational Mapping 객체 지향 프로그래밍(OOP)을 기본으로 하는 자바-스프링과 관계형 데이터베이스(RDBMS)을 매핑해줄 때 문제점이 존재한다. OOP는 클래스를 이용하고 RDBMS는 테이블을 이용하는데 객체 모델과 관계형 모델 간의 불일치가 존재한다는 것이고 이를 해결하기 위한 것이 ORM이다. 그럼 이러한 불일치를 해소해주는 ORM은 무엇일까? ORM은 객체와 데이터베이스의 관계를 매핑해주는 도구이다. ORM은 프로그래밍 언어의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 도..
[JPA] ORM이란?서론 Spring Boot를 사용하면서 JPA라는 ORM을 사용한다. JPA를 사용하고 있지만 ORM에 대해 상세히 본 적이 없어 이에 대해 정리해본다. ORM이란? ORM : Object - Relational Mapping 객체 지향 프로그래밍(OOP)을 기본으로 하는 자바-스프링과 관계형 데이터베이스(RDBMS)을 매핑해줄 때 문제점이 존재한다. OOP는 클래스를 이용하고 RDBMS는 테이블을 이용하는데 객체 모델과 관계형 모델 간의 불일치가 존재한다는 것이고 이를 해결하기 위한 것이 ORM이다. 그럼 이러한 불일치를 해소해주는 ORM은 무엇일까? ORM은 객체와 데이터베이스의 관계를 매핑해주는 도구이다. ORM은 프로그래밍 언어의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 도..
2022.12.08 -
서론 Spring을 공부하면서 데이터 변경은 어떻게 일어나는지 바로 이해가 되지 않았다. Entity에 update 함수가 정의되어 있고 이를 통해, 조회한 Entity의 값을 변경해주는 것인데 어떻게 DB의 데이터가 바뀌는 것인가? 라는 의문이 생겼고 찾아보니 JPA의 변경감지를 통한 데이터 변경이라는 내용을 볼 수 있었다. 기존에 쿼리를 통해 DB 작업을 하던 나에겐 상당히 신기한 부분이었기에 이에 대해 정리해보고자 한다. 데이터 변경을 위한 기본 로직 변경감지는 트랜잭션 커밋(Commit)시 영속화된 Entity에서 가지고 있었던 최초 정보(스냅샷)와 바뀐 Entity 정보를 비교해서 바뀐 부분을 update 해주는 기능이다. 이를 조금 더 상세히 살펴보자. 트랜잭션 커밋시 JPA는 트랜잭션 커밋시..
[JPA] 변경감지서론 Spring을 공부하면서 데이터 변경은 어떻게 일어나는지 바로 이해가 되지 않았다. Entity에 update 함수가 정의되어 있고 이를 통해, 조회한 Entity의 값을 변경해주는 것인데 어떻게 DB의 데이터가 바뀌는 것인가? 라는 의문이 생겼고 찾아보니 JPA의 변경감지를 통한 데이터 변경이라는 내용을 볼 수 있었다. 기존에 쿼리를 통해 DB 작업을 하던 나에겐 상당히 신기한 부분이었기에 이에 대해 정리해보고자 한다. 데이터 변경을 위한 기본 로직 변경감지는 트랜잭션 커밋(Commit)시 영속화된 Entity에서 가지고 있었던 최초 정보(스냅샷)와 바뀐 Entity 정보를 비교해서 바뀐 부분을 update 해주는 기능이다. 이를 조금 더 상세히 살펴보자. 트랜잭션 커밋시 JPA는 트랜잭션 커밋시..
2022.12.02 -
스프링 입문 과제를 진행하다보니 JPA가 어떤 건지도 알지 못하고 사용했다. JPA에 대한 내용이 상당히 깊고 내용이 많다고 하지만 기본적으로 JPA가 어떤 역할을 하는지 정도는 알고 스프링 공부를 하고 싶어 JPA에 대해 짧게 나마 정리하고자 한다. 1. JPA 정의 JPA (Java Persistence API) : 자바 ORM 기술에 대한 표준 명세 2. ORM? ORM(Object-Relational Mapping) : 객체 - 관계 - 매핑 - 객체와 데이터베이스의 관계를 매핑해주는 도구 - 즉, 프로그래밍 언어의 객체와 관계형 데이터베이스의 데이터를 자동으로 연결해주는 도구 3. JPA 동작 구조 ● 구조 - 자바 어플리케이션과 JDBC 사이에서 동작한다. ● 저장 ● 조회 4. JPA 사용 ..
[JPA] JPA란?스프링 입문 과제를 진행하다보니 JPA가 어떤 건지도 알지 못하고 사용했다. JPA에 대한 내용이 상당히 깊고 내용이 많다고 하지만 기본적으로 JPA가 어떤 역할을 하는지 정도는 알고 스프링 공부를 하고 싶어 JPA에 대해 짧게 나마 정리하고자 한다. 1. JPA 정의 JPA (Java Persistence API) : 자바 ORM 기술에 대한 표준 명세 2. ORM? ORM(Object-Relational Mapping) : 객체 - 관계 - 매핑 - 객체와 데이터베이스의 관계를 매핑해주는 도구 - 즉, 프로그래밍 언어의 객체와 관계형 데이터베이스의 데이터를 자동으로 연결해주는 도구 3. JPA 동작 구조 ● 구조 - 자바 어플리케이션과 JDBC 사이에서 동작한다. ● 저장 ● 조회 4. JPA 사용 ..
2022.11.30