Dokumentasi Hibernasi memiliki informasi di bawah ini untuk @Temporal
anotasi:
Dalam Java API biasa, ketepatan waktu tidak ditentukan. Saat berurusan dengan data temporal, Anda mungkin ingin menjelaskan ketepatan yang diharapkan dalam database. Data temporal dapat memiliki ketepatan TANGGAL, WAKTU, atau TIMESTAMP (yaitu tanggal aktual, hanya waktu, atau keduanya). Gunakan anotasi @Temporal untuk menyempurnakannya.
Apa temporal precision of time is not defined
maksudnya Apa itu temporal
data dan ketepatannya? Bagaimana cara menyempurnakannya?
Jawaban:
Anotasi ini harus ditentukan untuk bidang persisten atau properti tipe
java.util.Date
danjava.util.Calendar
. Ini hanya dapat ditentukan untuk bidang atau properti jenis ini.The
Temporal
penjelasan dapat digunakan dalam hubungannya denganBasic
penjelasan, paraId
penjelasan, atauElementCollection
penjelasan (ketika nilai koleksi elemen dari suatu jenis temporal.Dalam Java API biasa, ketepatan waktu tidak ditentukan. Saat menangani data temporal, Anda mungkin ingin menjelaskan ketepatan yang diharapkan dalam database. Data temporal dapat memiliki ketepatan TANGGAL, WAKTU, atau TIMESTAMP (yaitu, tanggal sebenarnya, hanya waktu, atau keduanya). Gunakan
@Temporal
anotasi untuk menyempurnakannya.Data temporal adalah data yang berhubungan dengan waktu. Misalnya, dalam sistem manajemen konten, tanggal pembuatan dan tanggal pembaruan terakhir artikel adalah data temporal. Dalam beberapa kasus, data temporal membutuhkan presisi dan Anda ingin menyimpan tanggal / waktu yang tepat atau keduanya (
TIMESTAMP
) dalam tabel database.Ketepatan temporal tidak ditentukan dalam API Java inti.
@Temporal
adalahJPA
anotasi yang mengubah bolak-balik antara stempel waktu danjava.util.Date
. Itu juga berubahtime-stamp
menjadi waktu. Misalnya, dalam cuplikan di bawah,@Temporal(TemporalType.DATE)
hilangkan nilai waktu dan hanya pertahankan tanggalnya .Sesuai javadocs,
[Informasi di atas dikumpulkan dari berbagai sumber]
sumber
yyyy-MM-dd
02/10/2017
dan ingin mengubahnya menjadi2017-10-02
atau2017/10/02
@Temporal
adalah anotasi JPA yang dapat digunakan untuk menyimpan dalam tabel database pada item kolom berikut:java.sql.Date
)java.sql.Time
)java.sql.Timestamp
)Umumnya ketika kita mendeklarasikan
Date
field di kelas dan mencoba menyimpannya.Ini akan disimpan sebagai TIMESTAMP dalam database.
Kode di atas akan menyimpan nilai seperti 08-07-17 04: 33: 35.870000000 PM
Jika kita hanya ingin menyimpan DATE di database,
kita bisa menggunakan / define
TemporalType
.Kali ini, 08-07-17 akan menyimpan dalam database
Ada beberapa atribut lain yang juga
@Temporal
dapat digunakan berdasarkan kebutuhan.sumber
Tipe temporal adalah kumpulan tipe berbasis waktu yang dapat digunakan dalam pemetaan status persisten.
Daftar jenis duniawi didukung meliputi tiga
java.sql
jenisjava.sql.Date
,java.sql.Time
danjava.sql.Timestamp
, dan itu termasuk duajava.util
jenisjava.util.Date
danjava.util.Calendar
.The
java.sql
jenis benar-benar bebas repot. Mereka bertindak seperti jenis pemetaan sederhana lainnya dan tidak memerlukan pertimbangan khusus.Namun, kedua
java.util
jenis tersebut memerlukan metadata tambahan untuk menunjukkanjava.sql
jenis JDBC mana yang akan digunakan saat berkomunikasi dengan driver JDBC. Ini dilakukan dengan memberi anotasi kepada mereka dengan@Temporal
anotasi dan menentukan tipe JDBC sebagai nilai dariTemporalType
tipe enumerasi.Ada tiga nilai enumerasi DATE, TIME, dan TIMESTAMP untuk mewakili masing-masing
java.sql
jenis.sumber
Gunakan ini
sumber
Jika Anda mencari jawaban singkat:
Dalam kasus penggunaan java.util.Date, Java tidak benar-benar tahu bagaimana berhubungan langsung dengan tipe SQL. Ini adalah saat
@Temporal
mulai bermain. Ini digunakan untuk menentukan tipe SQL yang diinginkan.Sumber: Baeldung
sumber
Saya menggunakan Hibernate 5.2 dan
@Temporal
tidak diperlukan lagi.java.util.date , sql.date , time.LocalDate disimpan ke dalam DB dengan tipe data yang sesuai sebagai Date / timestamp.
sumber
Kami menggunakan anotasi @Temporal untuk memasukkan tanggal, waktu atau keduanya dalam tabel database. Dengan menggunakan TemporalType kita dapat memasukkan data, waktu atau keduanya ke dalam tabel.
sumber