Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 그리디
- BFS
- 부분수열의합2
- JUnit
- 코딩테스트실력진단
- 코딩테스트
- 완전탐색
- 알고리즘기본개념
- database
- Java
- 다시보기
- 백준
- 그래프
- 완탐
- 알고리즘
- SWEA
- DFS
- Union Find
- SSAFY
- JPA
- 코테
- Spring
- 다익스트라
- 싸피
- 유니온파인드
- 트러블슈팅
- 코드트리
- 자바
- DP
- 기본유형
Archives
- Today
- Total
HwangHub
[JPA] @Column(length = value), @Size, @Length 간단요약 본문
문자열의 길이를 제한하는 어노테이션에 대해 알아보다가 쓱 보기엔 유사해보이는 어노테이션들이 있어서 한번 간단하게 정리해 보았다.
@Column(length=value)
DB 필드의 물리적인 글자수 제약조건을 거는 어노테이션이다. value에 적절한 값을 입력해두면 Jpa에 ddl을 수행할 때 DB 칼럼의 문자열 길이 제약조건을 걸어둔다.
@Size(min=val, max=val)
자바에서 기본적으로 validation을 지원하기 위해 제공하는 어노테이션이다. 이를 requestDto 등에 이용하여 입력되는 문자열의 validation을 처리할 수 있다.
@Length(min=val, max=val)
하이버네이트에서 지원하는 validation 어노테이션이다. 기능 자체는 @Size와 동일하다고 이해할 수 있다. 따라서 일반적으로 특정 라이브러리 등에 강하게 의존성을 갖는 것을 피하는 것이 좋으니, @Size를 사용하는 것이 더 권장된다고 할 수 있다.
결론
@Column(length = value)와 @Size, @Length는 근본적으로 그 사용 목적이 다르다. 각각 적절하게 사용하면 된다.
참고: https://www.baeldung.com/jpa-size-length-column-differences
'무엇을 합니다 > 기술이해' 카테고리의 다른 글
[트러블슈팅/JDBC] Statement.executeQuery() cannot issue statements that do not produce result sets. (0) | 2023.11.04 |
---|---|
dto 역직렬화에는 기본생성자 + 자바 리플렉션 사용 (0) | 2023.10.13 |
[Spring] 필드 인젝션을 피해야 하는 이유 (1) | 2023.09.30 |
[Spring] HTTP Method로 알아본 "멱등성"이야기 (0) | 2023.09.28 |
[Spring] 성능 최적화 및 모니터링 도구 (0) | 2023.09.15 |
Comments