Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyimpan Objek Tarikh Java dengan Betul dalam Lajur MySQL DATETIME Menggunakan JPA?

Bagaimana untuk Menyimpan Objek Tarikh Java dengan Betul dalam Lajur MySQL DATETIME Menggunakan JPA?

Patricia Arquette
Patricia Arquetteasal
2024-12-20 06:08:09507semak imbas

How to Properly Store Java Date Objects in MySQL DATETIME Columns Using JPA?

Menyimpan Java Date ke MySQL DATETIME dengan JPA

Untuk menyimpan objek Java Date dengan berkesan dalam lajur MySQL DATETIME menggunakan JPA (Hibernate), anda perlu mengambil kira kelakuan lalai JPA Hibernate pelaksanaan.

Isu:

Apabila memasukkan terus objek Java Date ke dalam lajur DATETIME, Hibernate hanya boleh menyimpan bahagian tarikh dan membuang komponen masa, mengakibatkan nilai seperti "2009-09-22 00:00:00" dalam MySQL.

Penyelesaian:

Untuk mengekalkan kedua-dua maklumat tarikh dan masa, anda perlu menukar objek Java Date kepada perwakilan rentetan yang mematuhi format MySQL DATETIME ("yyyy-MM-dd HH:mm:ss"). Begini cara anda boleh mencapai ini:

  1. Buat objek Java Date:
java.util.Date dt = new java.util.Date();
  1. Gunakan SimpleDateFormat untuk memformatkan Tarikh:
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  1. Formatkan Tarikh menjadi rentetan:
String currentTime = sdf.format(dt);
  1. Tetapkan rentetan yang diformatkan kepada DATETIME lajur:

Apabila melakukan operasi berterusan JPA, pastikan anda menetapkan nilai lajur DATETIME kepada rentetan terformat yang diperoleh dalam langkah 3. Hibernate kemudiannya akan memetakannya dengan betul ke format MySQL DATETIME .

Dengan mengikuti pendekatan ini, anda boleh menyimpan kedua-dua komponen tarikh dan masa objek Java Date dalam lajur MySQL DATETIME, memastikan data yang tepat perwakilan dan manipulasi.

Atas ialah kandungan terperinci Bagaimana untuk Menyimpan Objek Tarikh Java dengan Betul dalam Lajur MySQL DATETIME Menggunakan JPA?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn