getHibernateTemplate使用默认值保存实体

时间:2015-10-19 09:30:09

标签: hibernate

我的实体的几列都有默认值,现在我需要执行插入作业。 我知道我可以实现doInHibernate方法和createSqlQuery(例如"插入测试(test_column)值(DEFAULT)")来完成它。 但有没有办法使用getHibernateTemplate()。save()来做呢?我真的不想将列设置为默认值。

1 个答案:

答案 0 :(得分:0)

如果column设置为NOT NULL且列具有在数据库级别指定的默认值,则hibernate生成的INSERT查询不得包含该列,以便数据库为其添加默认值。您可以要求hibernate在insertable=false注释中使用@Column进行INSERT时不包含特定列。如下所示。

 @Column(name = "test_column", insertable=false)
 private int test_column

这种方法的局限性是Hibernate将始终忽略" test_column"在做插入时,无论它是否包含值。希望对你没问题