hibernate 关于session的update方法】的更多相关文章

先看写代码的方法: @Test     public void testUpdate3() {                         Teacher t = new Teacher();         t.setId(1);//指定了主键也可以直接更新         t.setName("zhanglaoshi");                 Session session2 = sessionFactory.getCurrentSession();        …
使一个游离对象转变为持久化对象.例如以下代码在session1中保存了一个Customer对象,然后在session2中更新这个Customer对象: Customer customer = new Customer(); customer.setName("Tom"); Session session1 = sessionFactory.buildSession(); Transaction tx1 = session.beginTransaction(); session1.sav…
今天做了个测试,写了个测试用例来看看merge与update时控制台打印出来的日志有什么不一样.实体bean很简单,就id和name两个字段,接下来分别给出以下几种测试情形的控制台日志内容: 1. 数据库记录已存在,更改person的name为一个新的name. merge方法打印出的日志如下: Hibernate: select person0_.id as id0_0_, person0_.name as name0_0_ from person person0_ where person0…
本文介绍Hibernate Session的delete()方法.delete()方法用于从数据库中删除与Java对象对应的记录.对应游离对象和持久化对象,delete语句会做出不同的反应. AD: 2013大数据全球技术峰会低价抢票中 delete()方法用于从数据库中删除与Java对象对应的记录.如果传入的参数是持久化对象,Session就计划执行一个delete语句.如果传入的参数是游离对象,先使游离对象被Session关联,使它变为持久化对象,然后计划执行一个delete语句.值得注意的…
1.session.save()方法 1).session.save()方法会使一个对象从临时状态转变为持久化状态. 2).session.save()方法会赋予持久化对象的OID属性一个ID值,以对应数据库该条数据. 3).在session.flush()被调用时,session.save()方法会发送一条insert SQL语句. 4).持久化对象的OID值不能被修改,尝试修改会抛出异常. 2.session.persist()方法 1).session.persist()和save()方法…
今天在使用session.save(),进行插入数据操作时,一直没有成功,也没有报错.后来发现是因为没有创建事务,提交事务的原因 你对flush和commit的意思没有理解到:1,flush代表刷新,同步一级缓存中的对象到数据库中,仅仅代表把SQL刷到了数据库中,2,commit代表提交事务,tx.commit之后,之前发送的SQL才真正提交了,数据表里面才有值:3,在默认情况下,commit之前都要自动调用flush,所以:1,session.save();session.flush()只是把…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
1. 持久化对象的状态: 站在持久化的角度,Hibernate 把对象分为四种状态:持久化状态,临时状态,游离状态,删除状态 Session 的特定方法能使对象从一个状态转到另一个状态 临时对象: 在使用代理主键的情况下,OID 通常为 null 不处于 Session 的缓存中 在数据库中没有对应的记录 持久化对象(也叫托管): OID 不为 null 位于 Session 缓存中 若在数据库中已经有和其对应的记录,持久化对象和数据库中的相关记录对应 Session 在 flush 缓存时,会…
1. Session缓存 Session缓存(Hibernate一级缓存),在 Session 接口的实现中包含一系列的 Java 集合, 这些 Java 集合构成了 Session 缓存.只要 Session 实例没有结束生命周期, 且没有清理缓存,则存放在它缓存中的对象也不会结束生命周期. Session 缓存可减少 Hibernate 应用程序访问数据库的频率. 两次获取同一个对象: ①第一次获取Users对象时会去数据库中查找,找到之后把Users对象的引用赋给user引用变量,同时还会…
Session 概述 •Session 接口是 Hibernate 向应用程序提供的操纵数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载 Java 对象的方法. •Session 具有一个缓存, 位于缓存中的对象称为持久化对象, 它和数据库中的相关记录对应. Session 能够在某些时间点, 按照缓存中对象的变化来执行相关的 SQL 语句, 来同步更新数据库, 这一过程被称为刷新缓存(flush) •站在持久化的角度, Hibernate 把对象分为 4 种状态: 持久化状态,…