什么是持久化? 为什么要持久化?

来源:互联网 发布:java定时器 任务超时 编辑:程序博客网 时间:2024/04/30 14:38

1.什么是持久化?
狭义的理解: “持久化”仅仅指把域对象永久保存到数据库中;广义的理解,“持久化”包括和数据库相关的各种操作(持久化就是将有用的数据以某种技术保存起来,将来可以再次取出来应用,数据库技术,将内存数据以文件的形式保存在永久介质中(磁盘等)都是持久化的例子.)。
● 保存:把域对象永久保存到数据库。
● 更新:更新数据库中域对象的状态。
● 删除:从数据库中删除一个域对象。
● 加载:根据特定的OID,把一个域对象从数据库加载到内存。
● 查询:根据特定的查询条件,把符合查询条件的一个或多个域对象从数据库加载内在存中。
2.为什么要持久化?
持久化技术封装了数据访问细节,为大部分业务逻辑提供面向对象的API。
● 通过持久化技术可以减少访问数据库数据次数,增加应用程序执行速度;
● 代码重用性高,能够完成大部分数据库操作;
● 松散耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需修改配置文件而不用修改代码。

通俗的讲,持久化对象可以理解成这个对象可以被“保存”,类比Java序列化技术,意思就是这个对象的当前状态(它现在的属性的值)可以被保存到“外存”上。我打了双引号的意思是指文件,磁盘等等,或者在Hibernate里面就直接是你更新或者保存到数据库里面。
因此当使用Hibernate的时候,创建的这么一个被映射的对象可以称为“持久对象”。
Hibernate将映射对象分为三种状态么,分别是transient、persistent、detached ,当一个对象是处于持久化状态的时候,可以通过它的API采取的相应操作都会对应到数据库里面条目的更新。更新,查询,删除等都只能在这个对象出于持久化状态下才能操作,就试想一下,如果一个状态已经被detached了,就不能通过它修改数据库的值了。

1 0
原创粉丝点击