我的实体的几列都有默认值,现在我需要执行插入作业。 我知道我可以实现doInHibernate方法和createSqlQuery(例如"插入测试(test_column)值(DEFAULT)")来完成它。 但有没有办法使用getHibernateTemplate()。save()来做呢?我真的不想将列设置为默认值。
答案 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"在做插入时,无论它是否包含值。希望对你没问题