Spring-Boot/Spring Data

트랜잭션 전파란?트랜잭션 전파(Propagation)는 하나의 트랜잭션이 실행되고 있는 와중에 다른 새로운 트랜잭션이 실행되는 경우를 말한다.  Spring 트랜잭션 전파 처리의 개념과 원칙본격적으로 스프링이 트랜잭션 전파를 처리하는 방식에 대해서 알아보자. 1. 외부 트랜잭션과 내부 트랜잭션 이때 기존의 실행되고 있던 트랜잭션을 외부 트랜잭션, 새롭게 실행된 트랜잭션을 내부 트랜잭션이라고 한다.외부 트랜잭션은 최초의 트랜잭션이기 때문에 신규 트랜잭션이라고도 한다. 2. 물리 트랜잭션과 논리 트랜잭션스프링은 동시에 실행되는 여러 개의 트랜잭션을 하나로 묶어 하나의 트랜잭션으로 만든다.  이때, 스프링은 물리 트랜잭션과 논리 트랜잭션이라는 개념을 사용하는데묶인 하나의 트랜잭션을 물리 트랜잭션이라고 하고 그..
[Spring Data] Spring Transaction을 통한 문제해결Spring TransactionJDBC만으로 트랜잭션을 사용하면 몇가지 문제가 발생한다. 1. 서비스 계층에서 트랜잭션 코드로 인해 JDBC 코드가 작성된다.JDBC 코드에 의존하다보니 이후 JPA 등과 같이 다른 데이터jaehee1007.tistory.com해당 포스트에서는 Spring Transaction이 여러가지 문제를 해결하는 방식에 대해 알아봤다. 이번 포스트에서는 Spring Transaction의 내부구조에 대해 더 자세히 알아보고 제공하는 여러가지 기능에 대해 알아보고자한다. Spring Transaction 사용방식Spring Transaction은 PlatformTransactionManager라는 인터페이스를..
QueryDSLSpring Data Jpa의 한계Spring Data Jpa를 통해 Jpa를 더욱 더 편리하게 사용할 수 있었다.하지만 여전히 해결되지 않는 두 가지 문제가 있다.그 두 가지 문제는 다음과 같다. 1.  동적쿼리 문제@Overridepublic List findAll(ItemSearchCond cond) { String itemName = cond.getItemName(); Integer maxPrice = cond.getMaxPrice(); if(StringUtils.hasText(itemName) && maxPrice != null) {// return repository.findByItemNameLikeAndPriceLessThanEqual(ite..
Spring Data JPA란?JPA는 JdbcTemplate, MyBatis 등의 SQL Mapper 기술의 많은 단점들을 보완한 획기적인 기술이었다.하지만 JPA를 사용하기 위해선 많은 설정과 많은 코드를 필요로 했다. 따라서 Spring 프레임워크는 JPA를 적은 설정과 적은 코드로 사용할 수 있도록 별도의 라이브러리를 만들었다.그것이 바로 Spring Data JPA이다. Spring Data JPA는 다음의 기능을 제공한다. 1. 공통 인터페이스 기능 Spring Data JPA는 기본적으로 사용하는 CRUD 기능을 하나의 공통 인터페이스로 만들어서 제공한다.그 인터페이스가 바로 JpaRepository이다.JpaRepository는 다양한 인터페이스를 상속받아 일반적으로 사용되는 CRUD기능을..
jaehee1113
'Spring-Boot/Spring Data' 카테고리의 글 목록