h2 In-Memory에서 rollback
518
작성한 질문수 18
안녕하세요!
강의를 듣고 강의를 토대로 혼자 이것 저것 해보고 있는 학생입니다!
다름이 아니라 강의와 다르게 h2를 spring boot 가 실행 될 때 메모리에서만 동작하게 하고싶어서
JDBC URL 을 jdbc:h2:mem/test 라고 지정을 했습니다.
그리고 문제는 @Test 어노테이션이 붙은 테스트 클래스에서 발생하였는데요, RepositoryTest 에서 @Transactional과 @Rollback(false) 를 추가시켰음에도 불구하고
spring boot가 돌아가는 8080/h2-console 에서는 자동으로 rollback이 되는데, 혹시 어떤게 문제인지 알 수 있을까요?
// MemberRepositoryTest
@SpringBootTest
@Transactional
@Rollback(false)
class MemberRepositoryTest {
@Autowired
private MemberRepository memberRepository;
@Test
@DisplayName("이메일로 조회")
void read() {
// given
String email = "dhslrl321@gmail";
String password = "hwi199";
String nickname = "dhslrl321";
Member member = Member.builder()
.email(email)
.password(password)
.nickname(nickname)
.build();
memberRepository.save(member);
// when
Optional<Member> memberOptional = memberRepository.findByEmail(email);
// then
memberOptional.ifPresentOrElse(
m -> assertEquals(nickname, m.getNickname()),
Assertions::fail
);
}
}
// application.yml
spring:
h2:
console:
path: /h2-console
enabled: true
settings:
web-allow-others: true
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:mem:auth
username: sa
password:
jpa:
hibernate:
ddl-auto: create-drop
properties:
show_sql: true
format_sql: true
답변 1
1
안녕하세요. 원익님
정확이 어떤 상황인지 잘 이해가 되지 않지만 답변을 드려볼게요.
테스트는 시작하고 끝나면 종료되어 버립니다. 따라서 메모리 모드로 동작하면 초기화 되는 것이 맞습니다.
추가로 ddl-auto: create-drop까지 되어 있어서 실행 후 종료되면 테이블을 모두 삭제합니다.
감사합니다.
existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?
0
64
1
existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?
0
99
3
MemberRepository 구현체
0
54
1
pdf 표현 질문드립니다.
0
59
1
로그가 남지 않는 문제.
0
78
1
테스트 라이브러리가 강의는 junit4가 맞나요??
0
67
2
pdf 파일과 차이점이 있는 것같은데 문제 없나요?
0
68
2
@PrePersist, @PreUpdate 호출 시점 질문드립니다.
0
87
2
Sort 인터페이스는 잘 사용 안하나요?
0
50
1
스캔대상 질문드립니다.
0
45
1
하이버네이트6에서의 최적화에 이은 질문
0
81
1
save() vs saveAndFlush DB 통신 횟수
0
50
1
순수 JPA 리포지토리 코드 수정부분
0
85
2
bulk연산 후 flush하는 이유를 모르겠어요
0
147
3
bulk insert 질문입니다.
0
174
2
교만했던 것 같아요.
0
142
1
RESTful 강의는 안하시는 건지 궁금합니다.
0
143
2
동적 테이블에 대한 질문
0
84
1
영속성 전이와 연관관계
0
128
2
강의 10:25 질문
0
71
1
단건 update 질문
0
94
2
엔티티 와 도메인의 경계
0
124
1
UsernameOnlyDto 타입 type mismatch 오류
0
114
1
Projection 개념과 데이터 전달과정에 대해 질문 있습니다.
0
131
1





