使用oracle 10+更改nullable = false和unique = true的休眠行为

时间:2013-07-12 07:58:55

标签: java hibernate annotations jpa-2.0

由于hibernate在@Column(nullable = false, unique = true)和oracle DB的字段上无法正常工作(在我看来;)),我想用此更改hibernates行为。

问题是只应用了唯一约束而不是非空约束,这意味着oracle可以存储一个可能导致应用程序错误的空值...我试图将它与来自hibernate验证器的@NotNull配对(通常也会创建一个非空约束)但是再次与它不起作用的唯一约束配对。表级别唯一约束也会覆盖非null。

因此,由于这似乎是一个已知的问题,我想知道是否没有其他修复,然后手工创建缺少的约束。

是否有可行的选项来“劫持”休眠表创建/更新过程并生成该语句,即使用自定义注释?我应该自己覆盖@Column注释吗?

有什么建议吗?我们不希望维护一个只包含所有非null约束的sql脚本。

0 个答案:

没有答案