인프런 커뮤니티 질문&답변

익명님의 프로필 이미지
익명

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

실전 예제 6 - 값 타입 매핑

@Column(length = 10) 이게 ddl 일때만 의미있나요?

해결된 질문

작성

·

1.1K

0

실무에서는 jpa의 ddl 을 disable 하라고 하셨는데요. 

그렇다면 저게 의미가 있는 코드인지 궁금합니다.

혹시..ddl 뿐만 아니라 set할때에도 validation까지 해주는지요?

예컨데 10자를 넘는 데이터를 set해주면 런타임에 쿼리가 날라가기전에 jpa에서 저 제약조건을 보고 바로 익셉션을 던져준다던지..?

아니면 ddl disable 일때에는 그냥 단순히 개발자들에게 테이블 스키마에 length = 10 이라는게 있을 것이라고 알려주는 info 성 목적으로 해주는건지 궁금합니다.

답변 1

3

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 익명님^^

해당 기능은 자동 ddl을 생성할 때만 사용됩니다. (개발자들에게 추가 info 성 목적을 제공해줍니다.)

추가로 hibernate-validator라는 라이브러리를 사용하면, (스프링 부트에서도 validator 라이브러리가 있는데 이걸 추가하면 됩니다.)

@Size 같은 검증용 애노테이션을 사용할 수 있습니다. 이 기능을 사용하면 JPA에서 저장시에 추가 검증도 해줍니다^^

예제는 다음 사이트를 참고해주세요.

https://www.baeldung.com/jpa-size-length-column-differences

감사합니다.

익명님의 프로필 이미지
익명

작성한 질문수

질문하기