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)

相关推荐

  • 如何修改cocosbuilder文件数目的限制

    技术如何修改cocosbuilder文件数目的限制这篇文章将为大家详细讲解有关如何修改cocosbuilder文件数目的限制,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。下载 coco

    攻略 2021年11月19日
  • Javascript对象原型是什么

    技术Javascript对象原型是什么本篇内容主要讲解“Javascript对象原型是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Javascript对象原型是什么”吧

    攻略 2021年11月20日
  • 创建javascript对象类成员(javascript私有成员分析)

    技术JavaScript 中怎样创建私有成员JavaScript 中怎样创建私有成员,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言:面向对象编程语言中的

    攻略 2021年12月13日
  • 如何利用Windows系统字体来创建恶意软件

    技术如何利用Windows系统字体来创建恶意软件这篇文章将为大家详细讲解有关如何利用Windows系统字体来创建恶意软件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。步骤在大多数情况下

    攻略 2021年11月18日
  • 怎样结合Jexus+Kestrel 部署asp.net core生产环境

    技术怎样结合Jexus+Kestrel 部署asp.net core生产环境本篇文章为大家展示了怎样结合Jexus+Kestrel 部署asp.net core生产环境,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过

    攻略 2021年11月19日
  • 白芸豆减肥,白芸豆一天吃多少量减肥效果好

    技术白芸豆减肥,白芸豆一天吃多少量减肥效果好医学里有减肥饮食处方,分析体检报告,明确代谢紊乱环节,针对性搭配营养白芸豆减肥。医学减肥饮食处方是高品质精确化针对性的平衡膳食。肥胖绝非亚健康而是代谢紊乱性疾病。肥胖患者往往有

    生活 2021年10月19日