프로그래밍과 잡담

[JPA] @Column(name ="name") 이 안 먹히는 경우 해결법 본문

프로그래밍/Java,Kotlin

[JPA] @Column(name ="name") 이 안 먹히는 경우 해결법

크레온 2022. 3. 19. 17:37

VO의 필드 이름이 데이터베이스 컬럼과 다를 경우 @Column(name ="이름")을 통해서 변경된 이름으로 해서

쿼리를 날려야하는데 문제는 내가 입력한 값으로 안 바뀐다는거지.

그래서 구글을 한참 뒤지다 보니 해결 방법을 찾았다. 

 

 

해결 방법: 

#properties
#spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

#yml
spring:
	jpa:
        hibernate:
        	naming:
                #implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
                physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

해결 방법 위치: https://stackoverflow.com/questions/25283198/spring-boot-jpa-column-name-annotation-ignored

 

해결법을 적용하니 동작한다.  그 답변에 대한  내용을 보니 Hibernate 5 인 경우에, 저렇게 해야한다고 함.

 

ps1. 해결법을 수정한다.

physical-strategy 이 부분만 추가하면 된다고 해당 글의 댓글에 적혀 있고, 직접 테스트 해봄.

반응형
Comments