session的几个主要方法
来源:互联网 发布:访客网速影响主网络吗 编辑:程序博客网 时间:2024/05/16 15:00
1.save,persist保存数据,persist在事务外不会产生Insert语句。
它们的区别在于:
若没开启事务,save方法会把数据写到数据库,然后由于没提交,会把该操作回滚,而persist不会把数据写入数据库。若开启事务,两者无区别。
2.delete, 删除对象
3.update,更新对象,如果数据库中没有记录,会出现异常。
通常用于把脱管对象的修改写入数据库。
4.get, 根据id查,会立刻访问数据库。
例子:
User user = (User)s.get(User.class, id);
hibernate会由类的名字去找相应的映射文件,然后得知应该从哪个表中查找数据。
可以这样理解,由于session可以管理多个数据库表所对应的多个实体对象,如果要查询id为1的实体对象,session get方法需要知道从哪个数据库表中查询id为1的记录,所以,除了给get方法传递所要查询的实体对象的id值外,还必须给get方法传递实体对象的类型,get方法才能知道去哪个数据库表中进行查询。
5.load,根据id查,(返回的是代理,不会立即访问数据库)。
例子:
User user = (User)s.load(User.class, id);
System.out.println(user.getName());
也是从数据库里面查找数据,跟get方法不同的是,它采用的是懒加载的方式,即,不是马**问数据库得到数据,而是当程序段需要访问该对象时,才会去访问数据库,例如,在上面的例子,在user.getName()的时候才会去访问数据库,而不是调用load方法的时候去访问数据库。
同时,用load方法取出来的对象不可能为null(就算数据库里面不存在这样的记录)这是因为Load方法会先产生User这个class的子类,然后new一个该子类的对象,所以取出来的肯定不为null。
6.saveOrUpdate,merge(根据id和version的值来确定是save或update),调用merge你的对象还是托管的。
当不知道对象是托管还是持久的时候,可调用saveOrUpdate来保存对象,让hibernate来判断究竟是save还是update。
7.lock(把对象变成持久对象,但不会同步对象的状态)。
- session的几个主要方法
- session的几个主要方法
- Session的几个主要方法
- Session的几个主要方法
- sqlite3的几个主要方法
- 5.session的主要方法
- 黑盒测试与其几个主要的方法
- Java方法调用的几个主要过程
- Hibernate中Session的几个方法介绍
- hibernate Session的几个简单方法
- Hibernate中Session的几个方法
- 几个主要的期刊杂志
- UNIX的几个主要进程
- MFC几个主要的机制
- 几个主要的分类算法
- mysqldump的几个主要选项
- eclipse的几个主要插件
- 线程的几个主要概念
- Struts1的流程
- javascript的md5加密写法
- 全排列的生成算法
- 电脑辐射----每天用电脑4-6小时的人必看
- 开始的历程
- session的几个主要方法
- 我做到了 我坚持下来了!O(∩_∩)O哈哈~
- 有关Google服务安全性的技术讨论
- 分啊
- HibernateUtil类(可用于连接多个数据库)
- 【转】从招聘中看计算机专业的研究生缺什么
- CMS模版引擎介绍
- 幽幽 你要振作
- .net PK abap该何去何从!!