Hibernate为表中的日期字段插入null,其默认值在表中

时间:2018-09-25 11:54:04

标签: hibernate

我正在创建Web应用程序。我正在使用Spring和休眠模式。当执行以下操作时,

userprofile.setFirstName(firstname);
        userprofile.setLastName(lastname);
        userprofile.setDob(bday);
        userprofile.setPhoneNumber(telephone);
        userprofile.setEmailId(email);
        userprofile.setPassword(password);
//      userprofile.setCreatedDate(sysdate);
        session.save(userprofile);
        t.commit();

Hibernate正在生成以下插入查询

Hibernate: insert into USER_PROFILE (CREATED_DATE, DATE_OF_BIRTH, EMAIL_ID, FIRST_NAME, LAST_NAME, PASSWORD, PHONE_NUMBER, PROFILE_ID) values (?, ?, ?, ?, ?, ?, ?, ?)

在我的created_date字段中插入空值。我已将created_date字段的默认值设为sysdate。 请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

我解决了。.在pojo类中,应添加以下insertable = false。这样可以避免插入null,而将插入表中设置的默认值。

@Column(name = "CREATED_DATE", insertable=false)
    private Date createdDate;