[Hibernate]我建议不要在entity中使用原始类型作为成员的类型

使用原始类型,如

   private int age;

它的致命缺点是: age永远不会为空值,这会使hibernate防空值的功能形同虚设。

具体来说,

   假说 age 的 nullable = false, 那如果setAge()没被调用,我们就会预期hibernate在运行时报错,防止age为空的数据进入数据库。

   然而,实际的结果是:JRE会把age的值为0,然后把 age=0 的数据插入数据库,而age = 0并不是我们想要的东西。

  而如果使用 private Integer age,就没有这个问题。

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.