我们有一个使用JPA和Oracle数据库的Web应用程序。在许多场合中,表格定义为某些字段的NOT NULL子句。有时我们使用JPA @NotNull注释。我们意识到实体的代码在所有情况下都不匹配使用NOT NULL子句的DB表(我们的DB经常更改,然后它不会100%与此方面的代码同步)。
我们意识到使用@NotNull在控制JSF中的示例验证方面具有很好的优势,但是它也可能有许多副作用。
在我们的项目中,我们的实体被组织为共享公共字段的类的层次结构。考虑到这些设置,假设某人正在将基本实体中的一个字段更改为@NotNull。这个小小的改变会影响许多屏幕,只有在执行时才能检测到这些故障(除非你有一个详尽的测试方法)。
现在,问题是,处理此问题的建议方法是什么?使用没有任何层次结构的JPA实体是否更好,即使必须反复编码许多字段?