inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

JPA

JPA Transactional 관련 질문이 있습니다.

387

김대호

작성한 질문수 12

0

강사님 안녕하세요.

강의중에 JPA로 데이터 변경시 @transactional이 필요하다고 말씀하셨는데요.

트랜젝션이 시작해야 hibernate session이 실행되는걸로 알고 있어서 궁금해서 여쭙니다.

실제로 find쪽은 트랜젝션이 없어도 데이터 조회가 가능하더라구요.

 이게 가능한 이유가 라이브러리단에서 조회기능들은 transactional을 어딘가 달고 있어서인가요? 아니면 원래부터 조회는 transactional이랑 상관이 없는것인가요?

(spring data jpa에서는 transaction 코드를 라이브러리에서 보았는데 entitymanager를 가져다 쓰는쪽에서는 제가 실력이 없어서인지 찾지 못해서 궁금합니다)

 

추가로.. JPQL로 일부컬럼만 조회할수 있다고 말씀하셨는데.. 일부컬럼만 조회시 영속성 컨텍스트에 해당 엔티티가 등록 되는지 궁금합니다. (더티체킹이나 지연쿼리 등이 지원되는지 궁금합니다)

 

못난 질문하는 제자를 용서해주세욥 ;ㅁ;

스프링쪽 강의 들은 후 JPA강의 재주행하러 가겠습니다 감사합니다..

 

영한이형사랑해요 갓영한찬양해 MVC java spring-boot spring

답변 1

1

김영한

안녕하세요. 대호님

1. JPA는 단순 조회의 경우 트랜잭션 없이 읽기라는 기능을 지원합니다.

2. JPQL로 일부 컬럼만 조회하면 DTO로 조회해야 합니다. 이 경우 영속성 컨텍스트에 관리되지 않습니다.

감사합니다.

인텔리제이 오류

0

50

1

..

0

113

2

Unused property.....

0

121

2

project JDK is misconfigured

0

165

2

외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석

0

101

2

단위/통합 테스트 버전충돌 문제

0

103

2

❗️springboot 4.0.2 버전 aspectj dependency 설정❗️

0

256

1

왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?

0

124

2

윈도우 build test오류 질문

1

123

2

테스트 관련 공부에 대한 조언을 얻고 싶습니다

0

112

2

테스트 실행 시 에러 질문

0

315

1

name을 통한 비교와 객체를 통한 비교

0

82

1

빌드 후 libs 없음

1

149

1

윈도우 gradlew.bat 에러

0

186

1

@PostMapping("/members/new")가 동작하지 않습니다

0

98

1

java static class와 kotlin class

0

89

1

스프링 DB연결

0

145

1

소요 시간

0

96

2

ddl.sql에 빨간 밑줄

1

118

2

welcome page 에러

0

200

3

잘 모르겠습니다.

0

172

2

fail을 똑같이 쳤는데 오류가 발생해요

0

173

2

index.html Welcome page

0

137

1

프로젝트 gradle-groovy ?

0

403

1