티스토리 뷰
JPA를 사용할 때, 엔티티의 날짜에서 자바는 보통 java.util.Date 객체를 사용합니다.
하지만, DB에는 날짜도 여러 형태가 존재합니다.
예를 들어, date(년월일), time(시분초), timestamp(년월일 시분초) 또는 datetime 으로 세가지의 타입이 존재합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import java.util.Date; import lombok.Data; import javax.persistence.*; @Entity @Data public class Article { @Id @GeneratedValue int id; String subject; @Column(length = 100000000) String content; @Temporal(TemporalType.DATE) Date regDate; @Temporal(TemporalType.TIME) Date regTime; @Temporal(TemporalType.TIMESTAMP) Date regTimestamp; } | cs |
위에 예제를 간단히 살펴 보면, 자바에서는 모두 Date 객체 이지만, @Temporal이라는 애노테이션을 사용하여, DB 타입에 맞도록 매핑할 수 있습니다.
TemporalType.Date : 년-월-일 의 date 타입
TemporalType.Time : 시:분:초 의 time 타입
TemporalType.TIMESTAMP : date + time 의 timestamp(datetime) 타입
애노테이션을 사용하지 않을 경우 기본값은 timestamp 입니다.
JPA 데이터베이스 방언에 의해, 데이터베이스의 타입에 따른 timestamp 또는 datetime은 자동으로 작성됩니다.
'생활코딩 > Spring' 카테고리의 다른 글
Spring Data JPA @Access Annotation (0) | 2016.10.12 |
---|---|
Spring Boot Resource Configuration (1) | 2016.10.11 |
Summernote 이미지 업로드 예제 (4) | 2016.09.21 |
이클립스 플러그인 소개 MyBatipse (3) | 2016.05.03 |
Apache Poi를 활용한 엑셀(Excel) 이미지 출력 2 (5) | 2016.05.03 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Spring Boot
- WYSIWYG
- spring jpa
- telegram bot
- @Temporal
- GO1104 LED
- jsonify
- @Access
- static resources
- 초대장
- AOP
- AngularJS
- 자바스크립트
- Excel
- offline.js
- 한성키보드
- mybatipse
- 브라우저 콘솔
- log4jdbc
- bootstrap
- RollingFileAppender
- learning javascript
- 오프라인 확인
- 정적 파일
- 쿼리 로그
- Spring
- jQuery 삽입
- summernote
- 스프링 부트
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함