JPA에서 사용될 DTO는 컬럼명과 일치시키기 위해 대문자를 _로 변경해주도록 되어있다.
@Entity
public myClass{
private String myID;
private String myId;
private String userName;
}
뭐... 위에처럼 클래스가 선언되었으면.. 맵핑은
myID -> my_i_d
myId -> my_id
userName -> user_name
이런식으로..
만약 이걸 따르지 않겠다고 한다면
네이밍 전략을 바꿔줄수 있다.
application.yml (or properties)에..
우선 yml기준으로 작성
spring:
jpa:
hibernate:
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
위와 같이 설정해주면 대문자를 underscore로 변환하는 일은 해주지 않는다.
아니면 명식적으로 컬럼명을 지정해줄 수 있다.
@Entity
public myClass{
@Column(name="myID")
private String myID;
@Column(name="myId")
private String myId;
@Column(name="userName")
private String userName;
}
설정을 잘 알면 더 유용하게 쓸 수 있을듯..
반응형
댓글