Hibernate的持久化

 2023-09-10 阅读 25 评论 0

摘要:计应134 徐雪双 1.持久化类 持久化类是指被需要被Hibernate持久化类到数据库中的实例所对应的类。Hibernate中操作的持久化类对象都是普通的Java类对象,与普通的JavaBean没什么区别,但是需注意: mongodb持久化。(1)持久化类必须有一个无参

计应134  徐雪双

1.持久化类

持久化类是指被需要被Hibernate持久化类到数据库中的实例所对应的类。Hibernate中操作的持久化类对象都是普通的Java类对象,与普通的JavaBean没什么区别,但是需注意:

mongodb持久化。(1)持久化类必须有一个无参的构造方法:Hibernate要求持久化类必须提供一个不带参数的默认构造方法,在程序运行时,Hibernate运用反射机制调用java.lang.reflect.Constructor.newInstance()方法来构造持久化类的实例。

(2)持久化类必须有一个唯一标识属性:在面向对象术语中,这个唯一标识属性被称为对象标识符(Object Identifier,OID),这个属性通常映射为数据库的主键,一般都是用整数表示,也可用其他类型。

(3)持久化类的每个属性必须提供set()和get()方法:get()和set()方法必须符合特定的命名规则,即“get”和“set”后紧跟属性的名字,且属性名的首字母需要大写。如:

name属性的set方法为setName(),get方法为getName()。

hibernate,(4)若持久化的属性为boolean类型,其get方法名可用get为前缀,也可用is为前缀。

(5)持久化类何时需要实现java.io.Serializable接口取决于应用。

2.持久化对象的3种状态:

(1)瞬态:对象由new操作符创建,且尚未与Hibernate Session关联的对象被认为处于瞬态。瞬态对象不会被持久化到数据库中,也不会被赋予持久化标识。若程序中失去了瞬态对象的引用,瞬态对象将被自动回收。使用Hibernate Session可使其变为持久化状态。

数据库持久性如何实现,(2)持久化:持久化实例在数据库中有相应的记录,拥有一个持久化标识。持久化对象必须与指定的Hibernate Session关联。若持久化对象改变,在对象操作完成时Hibernate会将对象数据自动协会数据库。

(3)脱管:实例处于持久化状态,但与之相关的Session被关闭,对象则处于脱管状态。托管对象的引用依然有效,对象可被继续修改。脱管对象重新转换为持久化状态需与Session关联,而该对象在脱管期间的改动也会写入数据库。

3.把持久化类映射到表中

Account.hbm.xml文件用于映射Account类,若需映射多个持久化类,方法一:在同一个映射文件中映射所有类。方法二:为每一个类创建单独的映射文件,映射文件与类同名,扩展名为hbm.xml。

java对象持久化,4.Hibernate采用XML文件配置对象-关系映射的优点:

(1)Hibernate不会渗透到上层域模型中,也不会渗透到下层数据模型中。

(2)软件开发人员可以独立设计域模型,不必强迫遵守任何规范。

(3)数据库设计人员可以独立设计数据模型。

(4)对象-关系不依赖于任何程序代码,如需修改对象-关系映射,只需修改XML文件,不需修改程序,提高了软件的灵活性,使维护更加方便。

 

转载于:https://www.cnblogs.com/xu2shuang97664/p/4571801.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/33786.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息