Java中基本数据类型和包装数据类型在Hibernate中使用
来源:互联网 发布:安装电视猫软件 编辑:程序博客网 时间:2024/06/05 01:53
Java开发通常我们在对实体类与数据库做映射的时候,会发现存在两种数据类型
一种基本数据类型:byte、short、char、int、long、float、double和boolean
另外一种是包装数据类型:Bety 、Short、 Character、 Integer 、Long、 Float、Double和Boolean
当然基本数据类型和包装数据类型之间可以方便的转换,也就是Java中所谓的装箱,例如:
Integer a = 10 ; //这是自动装箱
int b = new Integer(10) ; //这是自动拆箱
这里主要是讨论在持久化类中,如何定义属性的数据类型。这里主要以int和Integer为类说明:
如基本类型将无法表达null值,所有的基本数据类型的默认值都不是null,int 定义的属性a ,它的默认值就是0,这样一来如果这个属性没有赋值,它在数据库中的表现形式就是0,如果这个属性为age表示年龄,那么0就表示其未知。而且在某些情况下0表示特殊的含义,比如状态属性status=1 or 0,此时如果默认值为0就可能会存在歧义,本身它没有被赋值,就应该显示null才比较合理。
对于此情况,我们应该在持久化类也就是实体类中将数据类型都定义为包装类型,这样持久化到数据库中之后默认值就都是null,而非0。。。
关于基本数据类型和包装数据类型的优点和缺点:
1、对于基本数据类型来说,使用方便,可以直接把它显示到用户UI上,而且对于数字类型,可以直接进行运算;而对于包装数据类型来说,使用起来比较麻烦,特别是数字类型,在进行运算时,必须先转换成基本类型才行。
备注:在JDK1.5中,数字类型的包装类型也可以直接进行运算了,不用进行类型转换了,大大简化了包装类型。同时也说明,使用包装较为优先了。
2、基本类型的缺陷就是无法表示null值,也就是空值,而且所有的基本数据类型的默认值都不是null,所以从这一点来说,包装数据类型可以表现null值,这就是它的优势了。
所以通常情况下,在定义持久化类中的属性时,一定要根据实际情况来选择数据类型,不要让数据存在歧义~
- Java中基本数据类型和包装数据类型在Hibernate中使用
- Java中基本数据类型和包装类
- java中基本数据类型和包装类型
- Java中字符串对象和基本数据类型包装类
- Java中基本数据类型和包装器类型的关系
- Java中基本数据类型和包装类型有什么区别?
- Java中基本数据类型和包装器类型的关系
- java中基本数据类型包装类
- Java中基本数据类型的包装类
- JavaScript中基本数据类型和包装类型
- Java中有关基本数据类型和包装类的区别和使用标准
- java基本数据类型和包装数据类型
- Java中基本数据类型与对应的包装类和引用数据类型
- Java中基本数据类型和引用数据类型
- java中基本数据类型和引用数据类型
- java中基本数据类型包装类的例子
- java中基本数据类型的包装类以及基本数据类型之间的转换
- java 基本数据类型和包装类
- 程序设计的18大原则
- 使用spring mvc+ajax 响应报406错误解决方案
- Struts2 token的使用,避免表单重复提交
- flex Timer计时不精确
- document.createElement()的用法
- Java中基本数据类型和包装数据类型在Hibernate中使用
- VC内存泄露检查工具:Visual Leak Detector
- secureCRT,sftp的用法
- 超市pos源码 小学生作品 vs2008+Access
- 代码生成利器-NCodeGenerate 教程(3) 生成代码到文件.
- 如何修改网站标题
- SubversionEdge安装手册
- VC读写ini文件(第三方开源类)
- 判断android设备内存卡的剩余空间