package com.ankurm.hibernatedemo.datetime; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Table; import java.time.Instant; import java.time.LocalDateTime; /** Docs: 13-date-and-time-mapping.md, chapter "Second-precision / truncation". */ @Entity @Table(name = "nano_precision") public class NanoPrecisionEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private LocalDateTime plainLocalDateTime; @Column(precision = 9) private LocalDateTime highPrecisionLocalDateTime; private Instant plainInstant; protected NanoPrecisionEntity() { } public Long getId() { return id; } public LocalDateTime getPlainLocalDateTime() { return plainLocalDateTime; } public void setPlainLocalDateTime(LocalDateTime v) { this.plainLocalDateTime = v; } public LocalDateTime getHighPrecisionLocalDateTime() { return highPrecisionLocalDateTime; } public void setHighPrecisionLocalDateTime(LocalDateTime v) { this.highPrecisionLocalDateTime = v; } public Instant getPlainInstant() { return plainInstant; } public void setPlainInstant(Instant v) { this.plainInstant = v; } }