hibernate中实体类对象状态
程序员文章站
2022-04-13 22:41:46
...
一.实体类对象状态(概念)
1.实体类状态有三种
- 瞬时态:对象里面没有id值,对象与session没有关联
- 持久态:对象里面有id值,对象与session关联
- 托管态:对象有id值,对象与session没有关系
2.演示操作实体类对象的方法
saveOrUpdate方法:实现添加,实现修改
我们先对这三种状态一一做实验吧
瞬时态
public void fun4() {
SessionFactory sessionFactory=hibernateUtils.getSessionFactory();
Session session=sessionFactory.openSession();
Transaction tx=session.beginTransaction();
User user=new User();
user.setUsername("糖糖");
user.setPassword("123456789");
session.saveOrUpdate(user);
tx.commit();
session.close();
sessionFactory.close();
}
显然做的是添加操作
持久态
public void fun4() {
SessionFactory sessionFactory=hibernateUtils.getSessionFactory();
Session session=sessionFactory.openSession();
Transaction tx=session.beginTransaction();
User user=session.get(User.class,5);
user.setUsername("苏苏");
session.saveOrUpdate(user);
tx.commit();
session.close();
sessionFactory.close();
}
显然是修改操作
托管态
public void fun6() {
SessionFactory sessionFactory=hibernateUtils.getSessionFactory();
Session session=sessionFactory.openSession();
Transaction tx=session.beginTransaction();
User user=new User();
user.setUid(5);
user.setUsername("糖糖");
user.setPassword("123456789");
session.saveOrUpdate(user);
tx.commit();
session.close();
sessionFactory.close();
}
显然做的也是修改操作
总结:
- 实体类只是瞬时态的时候,才做添加操作
- 实体类是持久态和托管态的时候,都做的是修改操作
上一篇: HTML中引入CSS的方法
下一篇: IDEA快捷键
推荐阅读
-
EntityFramework中对象的状态管理(笔记)
-
hibernate框架学习笔记4:主键生成策略、对象状态
-
hibernate 增改查后对象的三种状态转换
-
实体类@Entity中打印对象时,java.lang.*Error
-
给集合中的元素(实体类对象)按照某个属性进行排序
-
关于hibernate中对象的三种状态分析
-
java中Hibernate的状态总结
-
使用IE浏览器时右下角状态栏中显示"对象不支持此属性或方法"的解决办法
-
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
-
springboot中controller返回实体类对象过滤掉null或为空的字段