JPA(4)
-
[JPA] 엔티티 매핑
객체지향의 객체(Entity)와 데이터베이스의 테이블과 매핑하는 '엔티티 매핑'에 관하여 김영한님의 '자바 ORM 표준 JPA 프로그래밍 - 기본편' 강의를 요약한 내용입니다. https://www.inflearn.com/course/ORM-JPA-Basic 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의 JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 본 강의는 자바 백엔 www.inflearn.com JPA에서 지원하는 Annotation 객체와 테이블 매핑할 때: @Entity, @Table 객체의 필드와 테이블의 컬럼 매핑할 때: @Column 기본..
2021.07.30 -
[JPA] 영속성 관리 - 내부 동작 방식
JPA의 가장 핵심인 영속성 컨텍스트에 대해 다뤄보겠습니다. 영속성 컨텍스트란?(Persistence Context) 영속성 컨텍스트는 '엔티티를 영구 저장하는 환경'입니다. 영속성이란 '오래 계속되는 성질'을 말하고 context는 '저장소'의 의미를 가집니다. 한 트랜잭션내에서 다루는 엔티티들에 관련된 쿼리문들을 영속성 컨텍스트라는 일종의 Buffer에 오래 모아두었다가 Commit 시점에 한꺼번에 처리하기 때문에 이런 이름을 갖게 된 것 같습니다. JPA에서 아래의 코드를 실행하면 DB에 알아서 INSERT 쿼리문을 만들어서 날렸는데, 이는 사실 '엔티티를 영속성 컨텍스트에 저장하겠다'라는 의미입니다. entityManager.persist(entity); 엔티티의 생명주기 비영속(new / tra..
2021.07.24 -
[JPA] JPA 시작하기
maven project를 생성하고 아래의 의존성을 추가합니다. persistence.xml은 JPA 설정 파일입니다. 콘솔창에 어떻게 SQL문을 작성했는지 어떤 쿼리문을 DB에 날렸는지 등의 옵션을 부여할 수 있습니다. JPA에는 데이터베이스 방언이라는 개념이 존재합니다. 데이터베이스 방언이란 논리적으로 동일한 기능이지만 데이터베이스의 종류에 따라 그 표현 방법이 조금씩 다른 것을 말합니다. 예를 들면, 가변 문자 타입을 MySQL에선 VARCHAR로 나타내고 Oracle에선 VARCHAR2로 나타냅니다. 문자열 자르기는 MySQL에선 SUBSTRING(), Oracle에선 SUBSTR()로 나타내고 페이징은 MySQL은 LIMIT, Oracle은 ROWNUM으로 나타냅니다. 어떤 데이터베이스 방언을 ..
2021.07.23 -
[JPA] JPA란?
김영한님의 '자바 ORM 표준 JPA 프로그래밍 - 기본편' 강의를 요약한 내용입니다. https://www.inflearn.com/course/ORM-JPA-Basic 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의 JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 본 강의는 자바 백엔 www.inflearn.com ORM이란? ORM은 Object-Relational Mapping(객체 관계 매핑)을 의미합니다. ORM을 사용하는 이유는 객체지향 프로그램의 객체와 관계형 데이터베이스의 테이블 둘 간의 매핑을 ORM 프레임워크에게 위임하여, 애플리케이션은 ..
2021.07.22