@Column(length = 10) 이게 ddl 일때만 의미있나요?
실무에서는 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
감사합니다.
실무 조언 관련 질문입니다.
0
41
1
H2데이터베이스 파일 생성
0
51
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
49
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
48
1
JPQL 메소드와 락
0
52
1
Delivery @OneToOne
0
57
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
89
2
UnsupportedOperationException 발생
0
82
3
H2 Database 연결이 안됩니다.
0
87
2
연관관계 매핑 질문드립니다.
0
82
2
h2데이터베이스 실행오류
0
105
2
persistence.xml
0
103
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
77
1
영속성 컨텍스트
0
62
1
JPA 프록시
0
89
1
Native Query와 MyBatis
0
63
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
82
1
임베디드 타입 예시 코드 관련 질문
0
112
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
90
3
인텔리제이 패키지 커서 단축키 질문
0
106
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
136
1
양방향 연관관계 시 연관관계 주인을 설정하는 이유
0
68
1
임베디드 타입과 MappedSuperClass의 차이점이 궁금합니다.
0
95
1
데이터베이스가 초기화되는 것 같아요
1
177
2





