# JPA

519개의 포스트

JPA Auditing

Java에서 ORM 기술인 JPA를 사용하여 도메인을 관계형 데이터베이스 테이블에 매핑할 때 공통적으로 도메인들이 가지고 있는 필드나 컬럼들이 존재합니다. 대표적으로 생성일자, 수정일자, 식별자 같은 필드 및 컬럼이 있습니다. 도메인마다 공통으로 존재한다는 의미는 결국

11분 전
·
0개의 댓글

JPA 사실에 대한 오해

NHN FORWARD 워크숍에 참가하여 신동민 개발자님이 발표한 JPA 사실에 대한 오해에 대해서 듣고 실습을 통해서 의미있는 유익한 시간을 보냈습니다.JPA에 대해서 흔히 잘못알고 있는 사실 중 하나가 엔티티와의 연관관계는 단방향이면 매핑이 끝나는 것은 맞지만 성능

26분 전
·
0개의 댓글

JPA 영속성 전이

특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶으면 영속성 전이 기능을 사용하면 됩니다. JPA는 CASCADE 옵션으로 영속성 전이를 제공합니다. 쉽게 말해서 영속성 전이를 사용하면 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장 할

약 1시간 전
·
0개의 댓글

JPA 값 타입과 임베디드 타입

JPA는 데이터 타입을 가장 크게 분류하면 엔티티 타입과 값(value) 타입으로 나눌 수 있습니다. 엔터티 타입은 @Entity로 정의하는 객체이고, 값 타입은 int, Integer, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체를 말합니다. 엔

약 1시간 전
·
0개의 댓글

JPA Proxy

얼마전에 AOP 관련된 글들을 살펴보다가 프록시를 알게되어서 스프링 AOP에서 프록시가 어떻게 동작하는지에 대해서도 간단히 살펴보았습니다. 하지만 역시 이 프록시라는 녀석은 JPA에서 지연로딩을 할때도 사용하는 아주... 용도가 다양한 녀석이였습니다. 그래서 지연로딩을

약 2시간 전
·
0개의 댓글

객체지향 쿼리

EntityManager.find() 메소드를 사용하면 식별자로 엔티티 하나를 조회할 수 있습니다. 이렇게 조회한 엔티티에 객체 그래프 탐색을 사용하면 연관된 엔티티들을 찾을 수 있습니다. 식별자로 조회(EntityManager.find())객체 그래프 탐색(getB(

약 2시간 전
·
0개의 댓글

Spring Data JPA 바로 시작하기 #2

JPA 인터페이스 사용하기 기본적으로 제공하는 메서드는 아래와 같다(CRUD) JPA 인터페이스 활용 JPA 인터페이스 예제 ![](https://images.velog.io

약 13시간 전
·
0개의 댓글

Spring Data JPA 바로 시작하기 #1

Spring 프로젝트에 JPA를 도입하고 싶지만 어디서부터 어떻게 사용해야할지 모르는사람들을 위한 가이드 1편! 물론 JPA를 알기전에 JDBC -> JDBD API -> Mybatis, hibernate 등 알아야할것들이 많지만 이론공부를 할 시간이 없고 당장 프로

약 21시간 전
·
0개의 댓글
post-thumbnail

고급 매핑(공부중)

관계형 데이터베이스에는 객체지향 언어에서 다루는 상속이라는 개념이 없다.ORM에서 상속 관계 매핑은 객체의 상속 구조와 데이터베이스의 슈퍼타입 서브타입 관계를 매핑하는 것이다. image지금부터 위 그림의 객체 상속 모델을 3가지 방법으로 매핑해보자.Tableimage

약 22시간 전
·
0개의 댓글
post-thumbnail

값 타입

엔티티 외의 다양한 값 타입에 대해서

어제
·
0개의 댓글
post-thumbnail

프록시와 연관관계 관리

프록시와 즉시 로딩, 지연 로딩, 영속성 전이 등에 대하여

어제
·
0개의 댓글
post-thumbnail

고급 매핑

상속 및 그외 연관관계 매핑에 대하여

어제
·
0개의 댓글

JPA

JPA를 왜 사용해야 하는가?SQL 중심적인 개발에서 객체 중심으로 개발객체 매핑하기@EntityJPA가 관리할 객체, 엔티티라고 한다.@IdDB PK와 매핑할 필드@Column@Column(name = "USERNAME")name필드와 매핑할 테이블의 컬럼 이름ins

어제
·
0개의 댓글
post-thumbnail

JPA 영속성

JPA를 시작하며 가장 기본적으로 사용되는 객체가 엔티티 매니저 팩토리와 엔티티 매니저이다. JPA를 기본적으로 데이터를 엔티티 단위로 받아오기 때문에 엔티티를 관리할 수 있는 수단이 필수적이다.EntityManagerFactory는 하나의 애플리케이션에 하나만 생성하

2일 전
·
0개의 댓글

JPA의 @DynamicUpdate

개요 JPA를 사용하다보면 @DynamicUpdate라는 어노테이션이 있다. JPA Entity에 사용하는 어노테이션인데, 실제 값이 변경된 컬럼으로만 update 쿼리를 만드는 기능이다. 너무 당연한 이야기 같지만, JPA의 기본 동작은 변경되지 않은 컬럼도 up

2일 전
·
0개의 댓글

JPA란? MyBatis와의 차이점

JPA의 개념 : Java Persistence API https://gmlwjd9405.github.io/2019/08/04/what-is-jpa.htmlMyBatis와의 차이점 : https://gmlwjd9405.github.io/2018/12/

2일 전
·
0개의 댓글
post-thumbnail

SpringBoot 개념 정리 1~3 강.

스프링부트 with JPA

3일 전
·
0개의 댓글

entity json변환시 proxy 이슈

Entity를 Json으로 변환하다보면 lazy loading된 객체를 제대로 serialize하지 못하는 이슈가 있다.예제 코드를 통해 문제를 확인해보자.Test위 테스트를 실행해보면 아래와 같은 결과가 나온다.내용을 읽어보면 세션이 없어서 프록시로부터 lazy lo

3일 전
·
0개의 댓글
post-thumbnail

JPA 개요

JPA 등장 전부터 사용되던 JDBC나 MyBatis의 경우에는 SQL을 Java위에서 작성해서 DB에서 적절한 ResultSet을 받아오는 방식이었다. JDBC는 하나의 쿼리마다 각 컬럼을 모두 get/set 해주다보니 코드가 지저분하고 길어지게되었다. MyBatis

4일 전
·
0개의 댓글