• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

Spring boot 말고 Spring 에서 OSIV는 어떻게되나요?

22.12.02 17:08 작성 22.12.02 17:09 수정 조회수 359

0

안녕하세요! 강사님 좋은강의 감사합니다.

OSIV를 공부하다가 여러가지 참고문서를 보고있는데,

문서에 기본적으로 OSIV는 Spring Boot 애플리케이션에서 활성화됩니다 라고 적혀있더라구요

그렇다면 스프링부트가 아닌 스프링 환경에서는 반대로 기본으로 OSIV가 false 인건가요?

답변 1

답변을 작성해보세요.

1

David님의 프로필

David

2022.12.02

안녕하세요. 승윤님, 공식 서포터즈 David입니다.

부트가 아니더라도 해당 기능은 사용할 수 있습니다.

아래 글을 참고해주세요.

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/orm/hibernate5/support/OpenSessionInViewInterceptor.html

https://bryceyangs.github.io/study/2021/09/01/JPA-OSIV/

감사합니다.

승윤님의 프로필

승윤

질문자

2022.12.02

감사합니다!

제가 질문남겼던거는 '스프링부트가 아닌 스프링 환경에서는 반대로 기본으로 OSIV가 false 인건가요?' 였는데 이부분은 어떻게되는건가요?

그리고 두 링크 모두 스프링환경에서는 OSIV를 설정이나 default 값에대한 설명이 없어서 궁금합니다.

David님의 프로필

David

2022.12.02

제가 처음 질문을 확인한 상태랑 조금 달라졌는데, 혹시 수정하셨을까요?

스프링 부트의 경우 해당 설정을 자동으로 활성화시켜주는 것이기 때문에 부트가 아닌 경우에는 osiv가 적용되지 않는다고 보시면 됩니다.

승윤님의 프로필

승윤

질문자

2022.12.02

아! 질문하고 읽어보다가 약간수정했었습니다!

그럼 서포터즈님 답변대로면 부트가 아니면 default로 false인게 맞는건가요?

그럼 스프링에선 OSIV를 키려면 어떻게해야하나요?..

David님의 프로필

David

2022.12.02

스프링 설정 클래스를 통해 OpenEntityManagerInViewInterceptor(또는 OpenEntityManagerInViewFilter)를 추가하면 osiv를 사용하실 수 있습니다.

부트에서 사용하는 설정 클래스이지만 JpaWebConfiguration 클래스를 보시면 대략적인 부분을 알 수 있으니 참고해주세요.