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

5

我查阅了@Column注解文档后发现nullable属性的默认值为true

我希望在我的实体定义中,将列的默认行为设置为非空,而不是每个单独的列都进行设置。

是否有一种方法可以全局更改nullable属性(以及其他属性)的默认值?

2个回答

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

0

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

话虽如此,我认为这会使实体定义变得不太清晰,而更愿意坚持使用更具声明性的技术(nullable="false")。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接