일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Test code
- 공룡책
- enumSet
- 인프콘2023
- 테크쇼
- ObjectMapper
- MySQL
- Junit 5
- 일상
- Server
- Test
- Java
- Service 계층 테스트
- modelmapper
- backend
- softeer
- Test Doulbe
- FCM
- OS
- mapstruct
- 자바
- JPQL
- Spring
- proxyFactory
- Coputer Science
- 소프티어
- ExceptionResolver
- JPA
- RequestBody
- db
- Today
- Total
목록JPA (2)
공부내용공유
서론 Repository 계층 테스트 코드를 작성할때 처음에는 어플리케이션에서 사용중인 MySQL DB를 그대로 사용하였다. 그러다가 한 테스트에서 로컬에 저장되어 있던 데이터에 의해 테스트가 실패하였고, 물론 값을 바꿔주면 테스트를 통과하긴 하겠으나 이 테스트가 다른 사람 pc에서 안깨지려면 테스트 DB를 분리하는게 맞겠다는 생각이 들었다. Spring 으로 프로젝트를 진행할때 local DB 나 Test DB 로 H2 를 많이 사용하기에 나도 H2 DB 로 설정을 바꿔주고 테스트를 돌렸다. 그런데 잘만 돌아가던 테스트들이 깨지는 케이스가 발생했다. 이를 기억하고 앞으로 코드를 작성할때 주의해야겠다는 생각이 들어 이 글을 작성하였다. 본론 테스트가 깨진 경우는 2가지 였다. native query 사용..
서론 Data 계층 테스트 코드를 작성하기전에 JPA 복습을 하고 있었는데 이전에 공부할때는 그냥 넘어갔던 JPA의 Isolation 부분이 눈에 들어왔다. 고급 데이터 베이스 과목에서 배운 Repetable Read, Phantom Phenomon 등이 보여 흥미로워 복습도 하고 몰랐던 부분을 제대로 공부하기 위해 이 글을 작성하였다. 목차 트랜잭션이란? DB 트랜잭션 Level 에 따른 차이 JPA의 트랜잭션 수준 Optimistic Lock, Pessimistic Lock 트랜잭션이란? 랜잭션, ACID 는 데이터 베이스 과목을 수강하면 정말 많이 나오는 개념이다. 트랜잭션이 무엇일까? DataBase System concepts 7판에 나온 설명들에 따르면 하나의 logical unit을 실행하는..