为@Column定义全局设置默认值'nullable = false'

时间:2014-03-10 11:00:06

标签: java jpa orm annotations

@Column注释文档中,我验证了nullable属性true为默认值。

在我的实体定义中,我想将列不可为空设置为默认行为,但我不想为每一列设置此列。

有没有办法全局更改nullable属性(最终是其他属性)的默认值?

2 个答案:

答案 0 :(得分:1)

如果表格中的列为notnull,则JPA会从数据库中的表中获取可为空的属性,那么您的实体属性也将为@NotNull。您可以对数据库进行更改并重新创建实体。

答案 1 :(得分:0)

我不熟悉覆盖JPA默认设置的方法,但您可以使用EntityListeners执行某些@PrePersist验证,并通过反射检查对象字段(非瞬态字段)是否为空。

话虽如此,我相信这会使实体定义不那么明确,而是宁愿坚持使用更多的声明性技术(nullable =" false")。

相关问题