작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
362
0
EntityManger를 주입받는 방법으로
private final EntityManager em;
이렇게 선언하고 @RequiredArgsConstructor로 받을 수도 있고,
이번 강의에서처럼 @PersistenceContext로 받을 수도 있는데 각각의 차이점이 무엇인가요 ?
public long count() {
return em.createQuery("select count(m) from Member m", Long.class)
.getSingleResult();
}
또 여기서 메소드 선언문에는 long 타입을 반환타입으로 설정했는데 createQuery의 2번째 파라미터로는 Long값을 주는데 어떤 이유인지 궁금합니다.
답변 1
1
안녕하세요. hjemsti님, 공식 서포터즈 David입니다.
@RequiredArgsConstructor는 private final 로 선언된 변수를 주입받는 생성자를 만듭니다. 또한 스프링부트는 1개의 생성자일 때 생성자에 @Autowired를 붙여주지 않아도 @Autowired가 붙여진 것과 동일하게 동작합니다. 즉, 지금 물으시는 질문은 @Autowired와 @PersistenceContext의 차이를 묻고 계신걸로 이해했습니다. 다음 글 답변을 참고해 주세요:) https://www.inflearn.com/questions/152202
다음 글 답변을 참고해 주세요. https://www.inflearn.com/questions/856916
감사합니다.