강의

멘토링

로드맵

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của milban
milban

câu hỏi đã được viết

Trong thực tế! Sử dụng Spring Boot và JPA1 - Phát triển ứng dụng Web

Kiểm tra chức năng thành viên

테스트 시, DB 관련 질문 드립니당.

Đã giải quyết

Viết

·

290

1

안녕하세요. 김영한님.

좋은 강의 덕분에 즐겁게 스프링을 배워나가고 있음에 항상 감사드립니다. :) 

12분 쯔음에 가장 좋은 통합 테스트(통합 테스트라는 단어는 쓰지 않으셨습니다만)는 WAS에 메모리 DB를 작게 띄어서 하는거라고 말씀하셨습니다.

이 부분에서 궁금증이 들었는데용. 현재 H2 DB를 연결하여 사용하고 있지만, 테스트 시에는 @Transactional 어노테이션으로 인해 실제로 DB에 커밋되지 않고 메모리상의 객체로만 테스트가 진행되는 것으로 보입니다.

제가 @Transactional이 실제로 정확히 어떻게 동작하는지 몰라 이런 생각을 가지게 되는거라고 생각이 들긴 하지만, 김영한님의 설명대로라면 DB 커넥션이 굳이 필요한가? 라는 생각이 듭니당.

테스트에 @Transactional 어노테이션을 걸 경우, 테스트 시 DB가 필요는 없지만, @SprinBootTest 임으로 JPA가 DB 커넥션을 요구하여 DB 커넥션을 물고 있게 하는 것일까용??

제가 FE개발자여서 BE에는 무지하여 질문에 요점이 없고 장황한 점 양해 부탁드립니당. :) 

감사합니당.

spring-boot웹앱springjavaJPA

Quiz

71% người trả lời sai. Hãy thử ngay!

JPA에서 SQL과 JPQL 쿼리의 주요 차이점은 무엇인가요?

성능 최적화 방식

데이터 타입 지원 범위

테이블 기반 vs 엔티티 객체 기반

파라미터 바인딩 방식

Câu trả lời 2

2

milban님의 프로필 이미지
milban
Người đặt câu hỏi

답변 감사합니다 :)👍🏻

1

yh님의 프로필 이미지
yh
Người chia sẻ kiến thức

안녕하세요. 미리바니님^^

이 경우에도 DB 커넥션이 필요합니다.

DB가 나의 시스템 외부에 존재할 수도 있고, 같은 PC에 설치될 수도 있고, 애플리케이션과 함께 메모리에 떠 있을 수도 있는 것이지요.

그리고 데이터베이스 커넥션도 외부에 존재하는 DB에 접근할 수도 있고, 같은 PC에 설치된 DB에 접근할 수도 있고, 애플리케이션과 함께 메모리에 떠 있는 DB에 접근할 수도 있습니다.

테스트에 @Transactional 어노테이션을 걸 경우, DB가 필요합니다. 그리고 커넥션 정보도 함께 필요합니다. 커넥션은 외부와 연결할 수 도 있고, 나의 로컬 PC 내부와 연결할 수도 있고, 메모리에 있는 DB와도 연결할 수 있습니다.

여기서는 메모리에 띄워둔 DB에 접근하는 커넥션인 것이지요^^

감사합니다.

Hình ảnh hồ sơ của milban
milban

câu hỏi đã được viết

Đặt câu hỏi