[DB] 트랜잭션(Transaction)매니저 & 프록시 & 트랜잭션 AOP
·
DB
1. 트랜잭션애플리케이션구조 순수한 서비스 계층가장 중요한 계층은 핵심 비즈니스 로직이 들어있는 서비스 계층이다서비스 계층은 특정 기술에 종속적이지 않게 개발해야 한다계층을 나눈 이유도 서비스 계층을 최대한 순수하게 유지하기 위한 목적이 크다. 즉, JDBC를 쓰다 JPA로 변경 등에 대한 과정으로 인해 서비스 계층에 수정이 있으면 안된다 2. 트랜잭션 추상화트랜잭션은 원자적 단위의 비즈니스 로직을 처리하기 위해 사용한다JDBC, JPA 등 구현 기술마다 트랜잭션을 사용하는 방법이 다르다.JDBC: con.setAutoCommit(false)JPA: transaction.begin() 문제 해결아래와 같이 TxManager 인터페이스를 기반으로 각 기술에 맞는 구현체를 만들면 된다.서비스는 특정 트랜잭션..
[DB] 트랜잭션(Transaction) 개념 및 동작원리
·
DB
스프링 DB 1편 - 데이터 접근 핵심 원리 강의 | 김영한 - 인프런김영한 | 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니www.inflearn.com1. 트랜잭션 개념트랜잭션을 이름 그대로 번역하면 거래라는 뜻이다.즉, 데이터베이스에서 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 것을 뜻한다.데이터를 저장할 때 파일 저장이 아닌, 데이터베이스에 저장하는 이유 중 대표적인 이유는 트랜잭션을 지원하기 때문이다.하나의 트랜잭션이 모두 성공해서 데이터베이스에 반영되는 것을 커밋이라하고, 작업 중 하나라도 실패해서 거래 이전으로 되돌리는 것을 롤백이라 한다. 2..
[Spring] JPA 연관관계 매핑
·
Spring
자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com1. 연관관계 매핑기초[목표]객체와 테이블 연관관계의 차이를 이해객체의 참조와 테이블의 외래 키를 매핑용어 이해방향(Direction): 단방향, 양방향다중성(Multiplicity): 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M) 이해연관관계의 주인(Owner): 객체 양방향 연관관계는 관리 주인이 필요2. 연관관계가 필요한 이유[예제 시나리오]회원과 팀이 있다.회원은 하나의 팀에만 ..
[Spring] JPA 엔티티 매핑
·
Spring
자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com1. 엔티티 매핑객체와 테이블 매핑: @Entity, @Table필드와 컬럼 매핑: @Column기본 키 매핑: @Id연관관계 매핑: @ManyToOne, @OneToMany, @JoinColumn[@Entity]@Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다.JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자)..
[Spring] JPA 영속성 관리
·
Spring
자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com1. 영속성 컨텍스트란?[JPA에서 가장 중요한 2가지]객체와 관계형 데이터베이스 매핑하기(ORM: Object Relational Mapping)영속성 컨텍스트영속성 컨텍스트는 “엔티티를 영구 저장하는 환경”이라는 뜻영속성 컨텍스트는 논리적인 개념이며 눈에 보이지 않는다.엔티티 매니저를 통해서 영속성 컨텍스트에 접근 가능하다.2. 엔티티의 생명주기비영속(new/transient): 영속성 컨텍스트와 전혀 관..
하부루
'인프런' 태그의 글 목록