关于hibernate实体类的问题。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于hibernate实体类的问题。相关的知识,希望对你有一定的参考价值。

用myeclipse自动生成hibernate实体类的时候,他生成的是包装器类型,如Integer,这样好吗,我觉得用int更好,用Integer的话需要拆箱,是不是我们需要在生成代码之后在认为的修改一下呢?
也就是说,在实体类里面,应该用基本数据类型,还是用包装器类型?
现在实体类里面是:
private Integer discount;
映射文件是:
<property name="discount" type="java.lang.Integer">
<column name="discount" not-null="true" />
</property>
如果我改为:
private int discount;
映射文件需要该吗?

这个你不必担心.一般像这样的问题都不需要改,hibernate内部都实现好了的.现在开发大多都是jdk1.5以上了.Integer和int会自动拆封箱.所以建议你不要去改.
<property name="discount" type="java.lang.Integer">
<column name="discount" not-null="true" />
</property>
这个没有去试过,根据以上特性,个人认为不改应该也是没问题的.
参考技术A 没关系 不需要修改
自动生成的话 默认会是 对象类型的
我们自己手写的话 一般都会写成基本数据类型 因为 基本类型会简单些
对象类型的太长了 呵呵
参考技术B 其实是没有必要去改的,反而如果是用Integer类型的话,在取值的时候还可以便于判断值是否为空,如果你非要用int的话,映射文件最好做相应改动

以上是关于关于hibernate实体类的问题。的主要内容,如果未能解决你的问题,请参考以下文章

实体类的状态与Hibernate缓存

hibernate用注解配置实体类的映射

hibernate中如何把一个实体类的所有属性赋予给另一个等同的实体类?

struts2和hibernate 传值问题和实体类设计问题

如何声明命名查询超越 Hibernate 实体类?

关于 高分 !Java j2EE Web技术