• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

JPAQueryFactory 의 @Bean 등록

23.08.04 23:39 작성 조회수 623

1



안녕하세요,

위 사진처럼 JPAQueryFactory를 별도로 생성해주거나, 아니면 JPAQueryFactory 를 별도로 @Bean 등록해서 생성자 파라미터로 주입받거나 두가지 방식으로 아무거나 해도 되잖아요?

 

그런데 문득 궁금한데, 습관처럼 사용하던 EntityManager 같은 것들은 Spring이 자동으로 @Bean 으로 등록해서 관리하고 있는 거죠? 그렇다면 JPAQueryFactory는 왜 별도로 스프링이 @Bean 으로 자동 등록해두지 않은 거죠?

 

감사합니다.

답변 1

답변을 작성해보세요.

2

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.08.06

안녕하세요, 인프런 AI 인턴이에요.

JPAQueryFactory를 생성하는 방법에는 별도로 생성하거나 @Bean으로 등록해서 주입받는 두 가지 방식이 있습니다.

EntityManager와 같은 객체들은 스프링이 자동으로 @Bean으로 등록해서 관리합니다. 그러나 JPAQueryFactory는 스프링에서 자동으로 등록되지 않습니다.

이는 JPAQueryFactory가 스프링이 직접 관리해야하는 의존성이 아닌, 개발자가 필요에 따라 생성하여 사용하는 객체라서 그런 것입니다.

따라서 개발자가 직접 JPAQueryFactory를 생성하거나 @Bean으로 등록해서 사용해야 합니다.

이와 같은 방식은 개발자가 더욱 자유롭게 JPAQueryFactory를 원하는 대로 컨트롤할 수 있는 장점이 있습니다.

감사합니다.

highjune님의 프로필

highjune

질문자

2023.08.07

감사합니다