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)

相关推荐

  • Python为什么只需一条语句a,b=b,a

    技术Python为什么只需一条语句a,b=b,a这篇文章主要讲解了“Python为什么只需一条语句a,b=b,a”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python

    2021年10月30日
  • 怎么实现Redis主从复制

    技术怎么实现Redis主从复制本篇内容介绍了“怎么实现Redis主从复制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!架

    攻略 2021年11月5日
  • 逻辑回归吴恩达

    技术逻辑回归吴恩达 逻辑回归_吴恩达线性回归做分类不太理想新增最右边额外的红色点,会改变原来的线性回归的拟合直线从洋红改变到蓝色直线,运用原来的数据标准,分类出现了错误,使得新的拟合直线更糟糕而且分类问

    礼包 2021年11月27日
  • DM7 RAC数据库怎样恢复成单机数据库

    技术DM7 RAC数据库怎样恢复成单机数据库本篇文章为大家展示了DM7 RAC数据库怎样恢复成单机数据库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。DM7 RAC数据库恢复成单

    攻略 2021年11月30日
  • 离职怎么写,工作不干了辞职报告怎么写

    技术离职怎么写,工作不干了辞职报告怎么写尊敬的领导离职怎么写:  我很遗憾自己在这个时候向公司正式提出辞职申请。  来到公司也已经快两年了,在这近两年里,得到了公司各位同事的多方帮助,我非常感谢公司各位同事。正是在这里我

    生活 2021年10月31日
  • jvm内存结构及原理(jvm内存结构讲解)

    技术JVM内存的结构是怎样的这篇文章主要介绍“JVM内存的结构是怎样的”,在日常操作中,相信很多人在JVM内存的结构是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JVM内存的结构是

    攻略 2021年12月21日