Поскольку значение, которое вы хотите сохранить, является временем, я бы рекомендовал использовать экземпляр типа Date.
@Column(columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
private Date loginfailedtime;
@Column(columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
private Date lastlogintime;
@Column(columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
private Date otp_timestamp;
Кроме того, если вы хотите использовать long , в определении столбца вы используя long, где следует указать тип данных, соответствующий таблице.
columnDefinition : фрагмент SQL, который используется при генерации DDL для столбца.
Например,
@Column(name="EMP_PIC", columnDefinition="BLOB NOT NULL")
В JAVA 8 у нас есть следующие сопоставления.
@Column(name = "local_time", columnDefinition = "TIME")
private LocalTime localTime;
@Column(name = "local_date", columnDefinition = "DATE")
private LocalDate localDate;
@Column(name = "local_date_time", columnDefinition = "TIMESTAMP")
private LocalDateTime localDateTime;
Подробнее здесь => https://www.baeldung.com/jpa-java-time