일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Transaction not successfully started
- gitrevert
- 네이버 연결된 서비스
- anyMatch
- @Table
- 멱등활용
- ERROR TYPE : org.apache.ibatis.binding.BindingException
- http
- 자바ORM표준프로그래밍
- org.apache.ibatis.binding.BindingException
- initialDelay
- 네이버로그인API
- JPA
- 매핑정보가없는필드
- 캐쉬가능
- @Entity
- HTTP3
- Git
- gitreset
- DB방언
- 데이터베이스 방언
- RFC723x
- hibernate.dialect
- 김영한JPA
- fixedDelay
- 무상태프로토콜
- HTTPMESSAGE
- SpringBoot
- KAKAOLOGINAPI
- Invalid bound statement (not found)
Archives
- Today
- Total
twocowsong
@Temporal 본문
깃허브 정리 URL : https://github.com/sWineTake/jpa.git
날짜 타입(java.util.Date, java.util.Calender)을 매핑할 때 사용합니다.
아래와같이 엔티티에 3개의 컬럼을 생성하였습니다.
@Temporal(TemporalType.DATE)
private Date date; // 날짜
@Temporal(TemporalType.TIME)
private Date time; // 시간
@Temporal(TemporalType.TIMESTAMP)
private Date timestamp; // 날짜와 시간
위에 엔티티를 기반으로 생성된 DDL문은 아래와 같습니다.
create table BoardTemporal (
date date,
time time,
timestamp datetime(6)
)
자바의 타입에는 년월일 시분초가 있지만 DB에는 Date(날짜), time(시간), datetime(날짜와 시간) 세 가지 타입이 별도로 존재합니다.
@Temporal을 생략하면 자바의 Date와 가장 유사한 timestampe로 정의됩니다.
하지만 timestampe 대신에 datetime을 예약어로 사용하는 DB도 있습니다.
DB 방언 덕분에 애플리케이션코드는 변경하지 않아도 됩니다.
datetime : MySql
timestamp : H2, 오라클, PostgreSQL
'IT > JPA' 카테고리의 다른 글
@Transient (0) | 2022.05.21 |
---|---|
@Lob (0) | 2022.05.21 |
@Enumerated (0) | 2022.05.19 |
필드와 컬럼 매핑 : @Column (0) | 2022.05.18 |
기본 키 매핑 정리 (0) | 2022.05.16 |