• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

스프링부트 버전에 따른 SQL 문이 다른 점 (Alias 유무)

23.06.13 22:55 작성 23.06.13 22:56 수정 조회수 212

0

안녕하세요, 스프링부트 3.1로 강의를 듣고 있는 학생입니다.

3.1.0 버전에서는 Select 쿼리를 생성할 때 별칭(alias) 없이 생성되었는데

JPA hibernate 버전 차이가 원인인 것인가요?

문서를 찾아보려고 해도 어떻게 찾아야 할지 감이 오지 않아서 질문드립니다.

아래는 MemberServiceTest 회원가입 test 의 로그입니다.

3.1.0

2023-06-13T22:26:00.567+09:00 DEBUG 64058 --- [    Test worker] org.hibernate.SQL                        : 
    select
        m1_0.member_id,
        m1_0.city,
        m1_0.street,
        m1_0.zipcode,
        m1_0.name 
    from
        member m1_0 
    where
        m1_0.name=?
2023-06-13T22:26:00.571+09:00 DEBUG 64058 --- [    Test worker] org.hibernate.SQL                        : 
    select
        next value for member_seq

2.4.1

2023-06-13 22:23:43.684 DEBUG 63945 --- [    Test worker] org.hibernate.SQL                        : 
    select
        member0_.member_id as member_i1_0_,
        member0_.city as city2_0_,
        member0_.street as street3_0_,
        member0_.zipcode as zipcode4_0_,
        member0_.name as name5_0_ 
    from
        member member0_ 
    where
        member0_.name=?
2023-06-13 22:23:43.691 DEBUG 63945 --- [    Test worker] org.hibernate.SQL                        : 
    call next value for hibernate_sequence

아래는 각 로그가 출력할 때 사용한 파일입니다.

2.4 버전

https://drive.google.com/file/d/1BhS1ZjixkOKzQxrEaSLGu0o6tWGhRLr_/view?usp=sharing

3.1 버전

https://drive.google.com/file/d/1SN6W0iq6X2ALHPNJDUgXuG-ep3-D4UyU/view?usp=sharing

 

답변 1

답변을 작성해보세요.

1

codesweaver님의 프로필

codesweaver

2023.06.14

안녕하세요. 공부하는 거 아님, 공식 서포터즈 코즈위버입니다.

말씀하신 것처럼 스프링부트 버전에 따라 사용하는 하이버네이트 버전이 다르기 때문으로 보입니다.

프로젝트 파일트리의 External Libraries에 hibernate 관련 항목을 살펴보시면 스프링부트2와3가 서로 다른 버전을 사용하고 있을거에요. 각 버전별 하이버네이트 릴리즈 노트등을 살펴보는 것도 도움이 될 수 있습니다.

감사합니다.