How to map timestamp column to JPA type?

后端 未结 4 1703
半阙折子戏
半阙折子戏 2021-01-04 18:15

I\'m using Play! 1.2.4 and PostgreSQL 9.1. I created a table with a created_at column, of type: timestamp without time zone. It has a default val

4条回答
  •  醉话见心
    2021-01-04 18:41

    I didn't solve the problem exactly, but I worked around it.

    Instead of having the database supply the default value of now(), I expressed it in JPA with @PrePersist:

    @Column(name="created_at", nullable=false)
    @Temporal(TemporalType.TIMESTAMP)
    public Date createdAt;
    
    @PrePersist
    protected void onCreate() {
        createdAt = new Date();
    }
    

    That works fine! Inspiration taken from this answer. I'm still not sure why Hibernate didn't get updated with the default value that was applied in the database. It was stuck thinking the value was still null.

提交回复
热议问题