Cra*_*ger 53
更好的错误消息和错误处理,特别是如果您还添加了JSR303 @NotNull注释.
如果您创建列NOT NULL但不告诉JPA它不是null,JPA将假定空值是OK.当您尝试使用空值保存对象时,它将继续将其发送到数据库,您将收到数据库级错误.这会增加数据库中的日志垃圾邮件,并且很难从错误中确定哪个(哪些)表是问题的列,更不用说将它们映射回其JPA名称.
如果您将它们注释为非null,JPA将在保存之前抛出异常,避免数据库日志垃圾邮件,并且通常会给您带来更好的错误.特别是,如果您的JPA提供程序支持JSR303并且转换nullable=false为@NotNull内部或者您也已添加@NotNull,它将为您提供一个数据结构,您可以检查以确切了解哪些对象被拒绝的原因以及可自定义的模板错误消息.
这就是为什么你应该告诉JPA有关NOT NULL字段的原因.这样,在不需要读取数据库模式的情况下,处理代码的其他人也更容易理解.
Ada*_*icz 29
此外,如果你的列有nullable = false在@ManyToOne注释,Hibernate并INNER JOIN查询到相关的表.nullable = true给出结果LEFT JOIN.
这是另一个区别.
| 归档时间: |
|
| 查看次数: |
41106 次 |
| 最近记录: |