Hibernate持久化类怎么用

技术Hibernate持久化类怎么用这篇文章主要介绍了Hibernate持久化类怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Hibernate持久

本文主要介绍如何使用Hibernate持久化类,具有一定的参考价值。有兴趣的朋友可以参考一下。希望大家看完这篇文章后收获多多。让边肖带你去了解它。

Hibernate持久性类使用JavaBean的风格,并为要访问的属性提供了一组get和set方法。这两种方法也被称为Hibernate持久化类的访问方法。我记得我在接触JavaBean的时候很困惑,我一直认为要提供这两种方法,最好是将Bean的属性设置为public,然后调用对象。属性。这很方便。但是后来有一个要求,一个人的名字可以看,但是不能修改。此时,如果使用set方法,只需将set方法的修饰符改为private即可。如果你以物体的形式来称呼它。财产,那就麻烦了。

最重要的是JAVABean的风格可以简化Hibernate通过JAVA反射机制获取Hibernate持久类的访问方法的过程。至于Java反射机制,我也有所了解。据说很深刻。感兴趣的朋友可以谷歌一下。值得注意的是。也就是说,JAVA应用程序不能访问私有类型的JavaBean持久性类的get和set方法。Hibernate没有这样的限制,可以访问所有级别,包括私有默认、受保护和公共。

Java有:Byte、short、char、int、long、float、double、boolean八种基本类型,以及八种对应的封装类型,Byte、Short、char、Integer、Long、Float、Double、Boolean封装类型意味着将基本类型封装成对象。基本类型可以很容易地在包装类型之间转换,例如3360。

inti=0;integerie=NewInteger(I);//将基本类型转换为封装类型I=ie . int value();//将类型打包成基本类型注意,直接转换也是可以的。例如,i=ieJAVA会自动将包装类型转换成基本类型。或者ie=I;JAVA会自动将基本类型转换成包装类型。在Hibernate持久化类中,属性可以定义为基本类型或者包装类型,它们对应的Hibernate映射类型int和Integer都对应int类型,不是很明显。以JAVA对象类型string为例,数据库为varhcar(50),在hibernate的*.hbm.xml映射文件中总是以String的形式写入。

事实上,在Hibernate持久类中使用基本类型或包装类型来定义属性有其自身的优缺点。基本类型易于使用,需要数值运算时可以直接操作。但是,包装器类型必须转换为基本类型,然后进行操作,但是包装器类型的优点是可以表示空值。创建每个包装类型对象时,其默认值为null。基本类型不能表示null,它们的默认值为0。为什么要表示空值?因为在SQL中,所有类型数据的默认值都是null。

输入insert时,没有多值的属性,默认值为null,所以JAVA的封装类型和数据库的对应关系更直接。这里建议将Hibernate的OID设置为包装类型,其他属性根据业务需求和个人习惯确定。

Hibernate会根据初始化阶段映射文件的信息,为所有Hibernate持久类预定义insert语句、update语句where ID、delete语句where ID和select语句where ID。这里提到的语句是标准的SQL添加、删除、更改、查询语句和参数。代表JDBC准备声明中的参数,这里不再举例说明。这些SQL语句存储在会话工厂的缓存中。当执行SessionFactory的save(),update(),delete()和load()方法时,这些预定义的SQL语句将从SessionFactory的缓存中读取。将特定的参数值绑定到SQL语句是Hibernate的基本原理。默认情况下,这些语句表示所有字段。当然,Hibernate也允许我们控制映射文件中插入和更新语句的内容。

例如,如果映射文件中属性元素的update属性设置为false,则基本update语句中不会包含此字段,并且在修改时也不会包含此字段。同样,动态动态SQL语句的配置也很常见。这里是配置SQL语句的具体属性3360。

1)1)property元素的insert属性:设置为false,并且该字段不包含在insert语句中,这意味着它永远不会被插入。默认值为真。

2)2)属性元素的update属性:设置为false,并且此字段不包含在update语句中,这意味着它永远不会被修改。默认值为真。

3)将3)类元素的可变属性:设置为false意味着将所有属性元素的更新属性设置为false,这意味着该对象不会被更新。

认true
4)<property>元素 dynamic-insert属性:设置为true,表示insert对象的时候,生成动态的insert语句,如果这个字段的值是null就不会加入到insert语句当中.默认false
5)<property>元素 dynamic-update属性,设置为true,表示update对象的时候,生成动态的update语句,如果这个字段的值是null就不会被加入到update语句中,默认false
6)<class>元素 dynamic-insert属性:设置为true,表示把所有的<property>元素的dynamic-insert属性设置为true,默认false
7)<class>元素 dynamic-update属性:设置为true,表示把所有的<property>元素的dynamic-update属性设置为true,默认false

Hibernate生成动态SQL语句的消耗的系统资源(比如CPU,内存等)是很小的,所以不会影响到系统的性能,如果表中包含N多字段,建议把dynamic- update属性和insert属性设置为true,这样在插入和修改数据的时候,语句中只包括要插入或者修改的字段.可以节省SQL语句的执行时间,提高程序的运行效率.

感谢你能够认真阅读完这篇文章,希望小编分享的“Hibernate持久化类怎么用”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/128581.html

(0)

相关推荐

  • sparkstreaming数据量(使用sparkstreaming的必要性)

    技术如何理解Spark Streaming的数据可靠性和一致性如何理解Spark Streaming的数据可靠性和一致性,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决

    攻略 2021年12月17日
  • 第七章 数据库 附件-MySQL的安装与使用

    技术第七章 数据库 附件-MySQL的安装与使用 第七章 数据库 附件-MySQL的安装与使用一、MySQL安装与使用
    1、服务端
    1.1、服务端-安装步骤1. 安装文件 mysql-5.5.62-wi

    礼包 2021年12月5日
  • 男人英语单词是什么,英语单词man和men怎么发音

    技术男人英语单词是什么,英语单词man和men怎么发音man[m鎛]把嘴巴张大一点,强调嬉簟en[men]嘴巴张小一点,不需要强调e音男人英语单词是什么。policeman也是一样,嘴巴张大一点,强调嬉簟olicem

    生活 2021年10月27日
  • cupro是什么面料,聚酯纤维面料是什么面料

    技术cupro是什么面料,聚酯纤维面料是什么面料聚酯纤维就是涤纶的一种叫法cupro是什么面料,商家用这个来混淆消费者的认识,因为涤纶是种低档廉价的纤维料嘛。涤纶具有许多优良的纺织性能和服用性能,用途广泛,可以纯纺织造,

    生活 2021年10月21日
  • 小星星怎么折,用纸叠的小星星代表什么啊

    技术小星星怎么折,用纸叠的小星星代表什么啊幸运星数量所代表的含意:   01 你是我的唯一   02 两情相悦   03 我爱你   04 誓言、承诺   05 无悔   06 顺利   07 喜相逢   08 弥补  

    生活 2021年10月23日
  • 扫一扫翻译,怎么用手机来拍照识别英语单词

    技术扫一扫翻译,怎么用手机来拍照识别英语单词如何用手机QQ翻译英文?
    1.点击打开手机QQ图标扫一扫翻译,2.在QQ主页面,点击右上角+号,3.在弹出的菜单栏点击扫一扫,
    4.在扫一扫界面,点击翻译,
    5.点击白色圆按钮

    生活 2021年10月20日