PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana cara memetakan kolom stempel waktu ke tipe JPA?

Saya tidak memecahkan masalah dengan tepat, tetapi saya mengatasinya.

Alih-alih memiliki database yang menyediakan nilai default now() , saya mengungkapkannya dalam JPA dengan @PrePersist :

@Column(name="created_at", nullable=false)
@Temporal(TemporalType.TIMESTAMP)
public Date createdAt;

@PrePersist
protected void onCreate() {
    createdAt = new Date();
}

Itu bekerja dengan baik! Inspirasi diambil dari jawaban ini .Saya masih tidak yakin mengapa Hibernate tidak diperbarui dengan nilai default yang diterapkan di database. Itu macet karena mengira nilainya masih nol.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pembuatan data dan kualitas perangkat keras

  2. fungsi UNIX_TIMESTAMP tidak ada

  3. Kerangka entitas PostgreSQL

  4. mengapa postgres memberikan kesalahan pembaruan baris secara bersamaan ketika saya mengunci seluruh tabel secara eksplisit

  5. Bagaimana cara memilih id dengan grup tanggal maksimum berdasarkan kategori dalam kueri Ecto dengan Phoenix?