728x90
반응형
SMALL

JPA 5

Transaction, Auto Commit, Rollback, Lock

DB를 사용할 땐 반드시 이해하고 있어야 하는 키워드인 '트랜잭션'은 이것 저것 다양한 내용이 참 많은듯하다. 우선 트랜잭션이란 DB에 어떤 작업을 하기 위해선 이 트랜잭션이 살아있는 주기동안에 일어나야한다. 즉, SELECT, UPDATE, INSERT 등 모든 DB에 대한 행위는 트랜잭션이 필요하고 이 트랜잭션이라는 단위가 시작되는 순간부터 종료되는 시점 사이에 대한 내용을 적어보자한다.  Auto Commit오토 커밋은 트랜잭션이 종료될 때 자동으로 커밋을 수행하는 것을 말한다. 커밋은 DB에 어떤 행위를 수행한 후 그 행위를 DB에 적용하는 것을 말하는데 이 커밋을 수행하지 않으면 변경사항이 DB에 적용되지 않는다. 그리고 그 변경사항에 대한 적용을 자동으로 해주는 것이 오토 커밋이다.  참고로 ..

Spring + DB 2023.11.30

[JPA] Part 5. 객체와 테이블 매핑

이제 JPA에서 역시 제일 중요한 부분 중 하나인 객체와 테이블 매핑에 대해서 알아보자. 이 부분은 복잡한 내용은 없고 간단하게 어노테이션을 이용해서 객체를 테이블과 매핑할 수 있다. Member Entity package org.example.entity; import javax.persistence.*; import java.time.LocalDateTime; @Entity @Table(uniqueConstraints = { @UniqueConstraint(name = "UniqueName", columnNames = { "name" }), @UniqueConstraint(name = "UniqueEmail", columnNames = { "email" }) }) public class Member ..

[JPA] Part 3. JPA를 뿌리부터 시작해보기

JPA를 진짜 깊게 이해하기 위해 아예 순수 JPA 세팅부터 시작해 보려고 한다. 내가 처음 JPA를 사용했을 때 느꼈던 것보다 훨씬 진짜 훨씬 더 많은 내용이 JPA에 있었는데 지금이라도 깊게 공부하게 되서 다행인거 같다. 우선 프로젝트를 Maven 기반으로 시작해보자. pom.xml 현재 정말 아무것도 없는 상태에서 pom.xml 파일 하나만 있는 상태다. 이 파일에서 필요한 두 가지가 있는데 하나는 hibernate, 하나는 h2database dependency다. 4.0.0 org.example hello-jpa 1.0-SNAPSHOT 18 18 org.hibernate hibernate-entitymanager 5.6.15.Final com.h2database h2 2.2.224 딱 두개의 D..

[JPA]: Part 2. Hibernate 정의와 JPA와 Hibernate의 차이점

Hibernate는 자바 기반의 오픈소스 프레임워크로 객체 지향된 도메인 모델과 RDB 사이의 연결을 제공한다. Hibernate가 자바 애플리케이션에서 데이터베이스 관련 프로그래밍을 개발자들이 Java Objects를 통해 할 수 있도록 도와준다. 복잡한 SQL 쿼리 대신. Hibernate의 핵심 특징은 다음과 같다. 1. Object-Relational Mapping (ORM): Hibernate의 핵심 목적은 객체 지향적 언어와 RDB 사이의 갭에 연결 다리를 놓는것이다. 그리고 그를 위해 양방향으로 자바 오브젝트들과 데이터베이스 테이블들 사이를 매핑해준다. 2. Persistence: Hibernate는 RDB에 또는 RDB로부터 자바 오브젝트들을 저장하거나 읽어오는 메커니즘을 제공한다. Hib..

[JPA] Part 1. JPA(Java Persistence API)란 ?

JPA는 Java Persistence API의 약자로, RDB와 Java Objects 간 데이터 접근, 관리, 지속성에 대한 명세라고 생각하면 된다. 좀 더 간단하게는 Relational Database와 Java application이 상호작용하게 도움을 주는 녀석이라고 생각하자. JPA의 핵심은 다음과 같다. 1. Object-Relational Mapping (ORM): JPA는 자바 오브젝트들과 데이터베이스 테이블을 양방향으로 매핑해 주는 방법을 제공한다. 이는 개발자들에게 코드상에서 자바 오브젝트들을 가지고 데이터베이스의 데이터들을 핸들링할 수 있게 한다. 2. Entity Classes: JPA는 엔티티 클래스를 정의할 수 있게 해주는데 엔티티 클래스라 함은 데이터베이스에 저장하고 싶은 데..

728x90
반응형
LIST