테스트 코드 문의
177
작성한 질문수 18
DTO 쿼리 작성 시
join fetch로 작성하는 경우는 에러가 발생하고join으로 작성하는 경우에는 에러가 발생하지 않았는데요.join fetch의 개념은 결국 지연로딩을 작동시키지 않고 한 번에 연관된 것들 다 가져온다는 것인데 왜 여기선 안 되는 것인지 궁금합니다.엔티티 @Query문하고 DTO @Query 테스트 코드를 돌렸는데 서로 영향을 미쳐 테스트가 실패라고 뜹니다.
@Transactional을 붙여 롤백이 되게끔 하여 해결은 했지만 궁금한 점이 있습니다. 스프링 데이터 JPA 테스트를 돌릴 때@SpringBootTest어노테이션 붙이면 자동으로 롤백이 되는 것이 아닌가요?
package study.springdatajpa.repository;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.transaction.annotation.Transactional;
import study.springdatajpa.domain.Member;
import study.springdatajpa.domain.Team;
import study.springdatajpa.dto.MemberDto;
import java.util.List;
@SpringBootTest
class MemberRepositoryTest {
@Autowired private MemberRepository memberRepository;
@Autowired private TeamRepository teamRepository;
@Test
@Transactional
void testQuery() {
Member m1 = new Member("AAA", 10);
Member m2 = new Member("BBB", 20);
memberRepository.save(m1);
memberRepository.save(m2);
List<Member> result = memberRepository.findUser("AAA", 10);
Assertions.assertThat(result.get(0)).isEqualTo(m1);
}
@Test
@Transactional
void testDtoQuery() {
Team team = new Team("teamA");
teamRepository.save(team);
Member m1 = new Member("AAA", 10);
Member m2 = new Member("BBB", 20);
m1.setTeam(team);
m2.setTeam(team);
memberRepository.save(m1);
memberRepository.save(m2);
List<MemberDto> dtoList = memberRepository.findUserDto();
Assertions.assertThat(dtoList.size()).isEqualTo(2);
}
}
답변 1
existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?
0
77
1
existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?
0
109
3
MemberRepository 구현체
0
61
1
pdf 표현 질문드립니다.
0
64
1
로그가 남지 않는 문제.
0
88
1
테스트 라이브러리가 강의는 junit4가 맞나요??
0
73
2
pdf 파일과 차이점이 있는 것같은데 문제 없나요?
0
73
2
@PrePersist, @PreUpdate 호출 시점 질문드립니다.
0
95
2
Sort 인터페이스는 잘 사용 안하나요?
0
52
1
스캔대상 질문드립니다.
0
46
1
하이버네이트6에서의 최적화에 이은 질문
0
88
1
save() vs saveAndFlush DB 통신 횟수
0
55
1
순수 JPA 리포지토리 코드 수정부분
0
87
2
bulk연산 후 flush하는 이유를 모르겠어요
0
153
3
bulk insert 질문입니다.
0
185
2
교만했던 것 같아요.
0
147
1
RESTful 강의는 안하시는 건지 궁금합니다.
0
150
2
동적 테이블에 대한 질문
0
87
1
영속성 전이와 연관관계
0
132
2
강의 10:25 질문
0
75
1
단건 update 질문
0
98
2
엔티티 와 도메인의 경계
0
129
1
UsernameOnlyDto 타입 type mismatch 오류
0
122
1
Projection 개념과 데이터 전달과정에 대해 질문 있습니다.
0
137
1





