看到很多地方看到在写Hibernate的pojo类时,id的类型都是Long的。为什么要设定成这种类型,而且还是long的封装的引用类型。为什么不用int这样的基本类型?有点不解。本人一菜鸟,希望大家能解答。谢谢。

解决方案 »

  1.   

    long类型存储的范围大,不用int是避免越界,输出错误值
      

  2.   

    如果说是用的头字母小写的long倒好理解,问题是用的是头字母大写Long,“Long”不就是“long”封装后的吗。那为什么不用private long id;而用的是private Long id;
      

  3.   

    Long是一个对象,他可以被赋值为null,而long就不行在hibernate的运行机制中,有些情况下需要用id和null做比较,所以强烈建议使用一个对象做id