์์์ ์์
์๋ฐ 8๋ถํฐ LocalDate, LocalDateTime์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ด๋ฒ๋ค์ดํธ ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๋ค๋ฉด, @Temporal ์ด๋ ธํ์ด์ ์ ์๋ตํ์ฌ๋ LocalDate์ LocalDateTime์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
@Entity
public class Member{
@Id
private Long id;
private LocalDateTime createdDate;
}
@Temporal
๋ ์ง ํ์ (java.util.Date, java.util.Calendar)์ ๋งคํํ ๋ ์ฌ์ฉํฉ๋๋ค.
์๋ฐ์ Date ํ์ ์๋ ๋ ์์ผ ์๋ถ์ด๊ฐ ์์ง๋ง, ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ date(๋ ์ง), time(์๊ฐ), timestamp(๋ ์ง์ ์๊ฐ)๋ผ๋ ์ธ ๊ฐ์ง ํ์ ์ด ๋ณ๋๋ก ์กด์ฌํฉ๋๋ค.
@Temporal์ ์๋ตํ๋ฉด ์๋ฐ์ Date์ ๊ฐ์ฅ ์ ์ฌํ timestamp๋ก ์ ์๋ฉ๋๋ค.
ํ์ง๋ง timestamp๋์ ์ datetime์ ์์ฝ์ด๋ก ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์๋๋ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฉ์ธ ๋๋ถ์ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ ๋ณ๊ฒฝํ์ง ์์๋ ๋ฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฉ์ธ์ ๋ฐ๋ผ ์์ฑ๋๋ DDL์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- datetime : MySQL
- timestamp : H2, ์ค๋ผํด, PostgreSQL
์์ฑ
์์ฑ | ๊ธฐ๋ฅ | ๊ธฐ๋ณธ๊ฐ |
value | TemporalType.DATE : ๋ ์ง, ๋ฐ์ดํฐ๋ฒ ์ด์ค date ํ์
๊ณผ ๋งคํ (์ : 2013-10-11) TemporalType.TIME : ์๊ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค time ํ์ ๊ณผ ๋งคํ (์ : 11:11:11) TemporalType.TIMESTAMP : ๋ ์ง์ ์๊ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค timestamp ํ์ ๊ณผ ๋งคํ (์ : 2013-10-11 11:11:!1) |
TemporalType์ ํ์๋ก ์ง์ ํด์ผ ํฉ๋๋ค. |
Reference
์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์
JPA๋ฅผ ์ฒ์ ์ ํ๊ฑฐ๋, ์ค๋ฌด์์ JPA๋ฅผ ์ฌ์ฉํ์ง๋ง ๊ธฐ๋ณธ ์ด๋ก ์ด ๋ถ์กฑํ์ ๋ถ๋ค์ด JPA์ ๊ธฐ๋ณธ ์ด๋ก ์ ํํํ๊ฒ ํ์ตํด์ ์ด๋ณด์๋ ์ค๋ฌด์์ ์์ ์๊ฒ JPA๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค., ๋ณธ ๊ฐ์๋ ์๋ฐ ๋ฐฑ์
www.inflearn.com
[์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊น์ํ]
'๐๏ธ Spring > JPA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JPA] ํ๋์ ์ปฌ๋ผ ๋งคํ - @Basic (0) | 2021.12.14 |
---|---|
[JPA] ํ๋์ ์ปฌ๋ผ ๋งคํ - @Lob (0) | 2021.12.14 |
[JPA] ํ๋์ ์ปฌ๋ผ ๋งคํ - @Enumerated (0) | 2021.12.14 |
[JPA] ํ๋์ ์ปฌ๋ผ ๋งคํ - @Column (0) | 2021.12.14 |
[JPA] ์ํฐํฐ ๋งคํ - @Entity, @Table (0) | 2021.12.13 |
์์์ ์์
์๋ฐ 8๋ถํฐ LocalDate, LocalDateTime์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ด๋ฒ๋ค์ดํธ ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๋ค๋ฉด, @Temporal ์ด๋ ธํ์ด์ ์ ์๋ตํ์ฌ๋ LocalDate์ LocalDateTime์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
@Entity
public class Member{
@Id
private Long id;
private LocalDateTime createdDate;
}
@Temporal
๋ ์ง ํ์ (java.util.Date, java.util.Calendar)์ ๋งคํํ ๋ ์ฌ์ฉํฉ๋๋ค.
์๋ฐ์ Date ํ์ ์๋ ๋ ์์ผ ์๋ถ์ด๊ฐ ์์ง๋ง, ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ date(๋ ์ง), time(์๊ฐ), timestamp(๋ ์ง์ ์๊ฐ)๋ผ๋ ์ธ ๊ฐ์ง ํ์ ์ด ๋ณ๋๋ก ์กด์ฌํฉ๋๋ค.
@Temporal์ ์๋ตํ๋ฉด ์๋ฐ์ Date์ ๊ฐ์ฅ ์ ์ฌํ timestamp๋ก ์ ์๋ฉ๋๋ค.
ํ์ง๋ง timestamp๋์ ์ datetime์ ์์ฝ์ด๋ก ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์๋๋ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฉ์ธ ๋๋ถ์ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ ๋ณ๊ฒฝํ์ง ์์๋ ๋ฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฉ์ธ์ ๋ฐ๋ผ ์์ฑ๋๋ DDL์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- datetime : MySQL
- timestamp : H2, ์ค๋ผํด, PostgreSQL
์์ฑ
์์ฑ | ๊ธฐ๋ฅ | ๊ธฐ๋ณธ๊ฐ |
value | TemporalType.DATE : ๋ ์ง, ๋ฐ์ดํฐ๋ฒ ์ด์ค date ํ์
๊ณผ ๋งคํ (์ : 2013-10-11) TemporalType.TIME : ์๊ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค time ํ์ ๊ณผ ๋งคํ (์ : 11:11:11) TemporalType.TIMESTAMP : ๋ ์ง์ ์๊ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค timestamp ํ์ ๊ณผ ๋งคํ (์ : 2013-10-11 11:11:!1) |
TemporalType์ ํ์๋ก ์ง์ ํด์ผ ํฉ๋๋ค. |
Reference
์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์
JPA๋ฅผ ์ฒ์ ์ ํ๊ฑฐ๋, ์ค๋ฌด์์ JPA๋ฅผ ์ฌ์ฉํ์ง๋ง ๊ธฐ๋ณธ ์ด๋ก ์ด ๋ถ์กฑํ์ ๋ถ๋ค์ด JPA์ ๊ธฐ๋ณธ ์ด๋ก ์ ํํํ๊ฒ ํ์ตํด์ ์ด๋ณด์๋ ์ค๋ฌด์์ ์์ ์๊ฒ JPA๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค., ๋ณธ ๊ฐ์๋ ์๋ฐ ๋ฐฑ์
www.inflearn.com
[์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊น์ํ]
'๐๏ธ Spring > JPA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JPA] ํ๋์ ์ปฌ๋ผ ๋งคํ - @Basic (0) | 2021.12.14 |
---|---|
[JPA] ํ๋์ ์ปฌ๋ผ ๋งคํ - @Lob (0) | 2021.12.14 |
[JPA] ํ๋์ ์ปฌ๋ผ ๋งคํ - @Enumerated (0) | 2021.12.14 |
[JPA] ํ๋์ ์ปฌ๋ผ ๋งคํ - @Column (0) | 2021.12.14 |
[JPA] ์ํฐํฐ ๋งคํ - @Entity, @Table (0) | 2021.12.13 |