本文主要介绍如何使用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