hibernate 对象持续化

对象持续化的理解
前期javase对类实行Serivalizable 接口,由很大的以后,说是他是一种能力,
但是这里学历hibernate对象持续化后,好像有一点理解,
先来说说 如何对象持续化,怕以后忘记



Configuration cfg=new Configuration().configure();      // 默认加载hibernate.cfg.xml 文件
SessionFactory sf=cfg.buildSessionFactory();            // 由于数据众多,由工厂类获取连接
Session sess=sf.OpenSession()                           // 事物打开
Transaction tx=session.beginTransaction();              // 原子性操作打开
User user=new User();                                   // POJO 类
user.setName("echo");                               
user.setPass("echo");
sess.save(user)                                         // 将对象保存为持久性对象

sess.close();
sf.close();                                             // 连接关闭

Session 通过save() 将user 持久性对象


Serializable save(Object obj)             持久化,对象属性保存到数据库
void persist(Object obj)                  持久化,对象属性保存到数据库
Serializable save(Object obj,Object PK)  对象属性保存到数据库,指定主键
void persist(Object obj,Object Pk)        持久化,对象属性保存到数据库,指定主键


看到Serializable 我就哈哈了,持续化,就是把对象保存下来,可以离线用(这是我个人的理解,希望你们去百度百度)


通过主键加载实体

User user=sess.load(User.class,pk);

user.setName("if");

sess.flush();

数据更新

load 加载实体,有延迟但是get没有,get会立即访问数据库,load返回没有初始化的对象



更新脱管实体
当sess关闭后,对象就处于脱管状态
如果要重新接管,
update()          //再次将对象持续化
merge()           //方法返回的副本是持续化的
updateOrSave()    //不清楚是否对象持续化过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值