首先声明,本人菜鸟,望大家探讨,共同进步。
先看列子:
Preson 主键id,而且在数据库自动生成策略。其他字段均可为空,本次讨论中使用firstname字段修改。
xml配置均使用hibernate默认配置,参数均无修改。
1.正常由transient->persistent
public void test1(){
Person p = new Person();//transient
p.setFirstname("harrison");
Session session = SessionFactory.getSession();
session.beginTransaction();
session.save(p);//Persistent
session.getTransaction().commit();
session.close();
}
console
Hibernate: insert into Person (age, firstname, lastname) values (?, ?, ?)
数据库保存ok
2.正常由persistent->detached->persistent,修改刚插入的数据
public void test2(){
Session session = SessionFactory.getSession();
session.beginTransaction();
Person p = (Person)session.get(Person.class, 1L);//Persistent
session.getTransaction().commit();
session.close();
p.setFirstname("second");//Detached
session = SessionFactory.getSession();
session.beginTransaction();
session.update(p);//Persistent again
session.getTransaction().commit();
session.close();
}
console:
Hibernate: select person0_.PERSON_ID as PERSON1_2_0_, person0_.age as age2_0_, person0_.firstname as firstname2_0_, person0_.lastname as lastname2_0_ from Person person0_ where person0_.PERSON_ID=?
Hibernate: update Person set age=?, firstname=?, lastname=? where PERSON_ID=?
数据库更新ok
3.把transient当作detached用
public void test3(){
Person p = new Person();//transient
p.setId(1L);
p.setFirstname("third");
Session session = SessionFactory.getSession();
session.beginTransaction();
session.update(p);//Persistent
session.getTransaction().commit();
session.close();
}
console:
Hibernate: update Person set age=?, firstname=?, lastname=? where PERSON_ID=?
数据库更新成功
相信大家也看明白了,脱管状态的object,再次重新连接session和transient状态的对象没有区别,他们都是游离的状态,和session没有关系了,他们的区别是在业务的逻辑上,与存在的道理是没有区别的。
如果由兴趣的朋友可以继续研究下,当new 一个person是在数据库主键相同的对象,hibernate虽然执行了insert语句,但是并没有成功,也没有异常,同样把datached状态的对象修改以后,如果不用update而使用insert方法,也就是把这个object当作transient来处理的时候,hiberntae也同样执行了insert语句,但是数据库也没有发生变化,也没有异常。如此可见,transient和detanched的存在方式是相同的。
分享到:
相关推荐
根据给定文件,本文将详细探讨ANSYS动力学瞬态分析中完全法的相关知识点。 首先,完全法是进行动力学瞬态分析的一种方法,其特点是使用完整的系统矩阵来计算结构的瞬态响应,而不采用矩阵缩减技术。这种方法相较于...
其中,动力学瞬态分析是ANSYS中的一个重要模块,用于分析和解决在动态载荷作用下结构的响应问题,比如物体在受到冲击或随时间变化的载荷作用下的位移、速度、加速度以及应力等动态响应特征。缩减法是ANSYS中的一种...
GBT 18481-2001标准是中华人民共和国国家标准,主要针对电能质量中的暂时过电压和瞬态过电压问题。标准于2001年11月02日发布,于2002年04月01日实施。该标准是电能质量系列标准之一,与已制定的其他标准如GB12325-...
热传导计算是研究热量通过固体材料或流体以导热、对流和辐射三种方式传递的基本过程,其核心内容包括稳态和瞬态计算。稳态意味着系统达到热平衡,温度场不再随时间变化;瞬态则指的是系统内温度场随时间不断变化的...
本篇将深入探讨NMOS场效应晶体管在共源组态下的转移特性、输出特性以及在CMOS反相器中的直流仿真和瞬态仿真的知识。 首先,让我们理解NMOS场效应晶体管的共源组态。在共源配置中,栅极连接到电源,漏极作为输出,源...
瞬态分析是指在系统受到随时间变化的载荷和边界条件时,对系统的响应进行分析。在瞬态分析中,热能存储效应不能被忽略,时间具有确定的物理含义。这与稳态分析不同,在稳态分析中,热能存储效应被忽略,时间仅用于...
本文利用MATLAB Simulink对液压管路中瞬态压力脉动进行了建模和仿真分析。 MATLAB Simulink是一个用于多域仿真和基于模型的设计的图形化编程环境,它使得工程师和科研人员能够在多领域进行系统建模和仿真,尤其适合...
文件"抑制瞬态高压的电感性X射线管.pdf"很可能是详细阐述这些概念和技术的文档,包括理论解释、实际案例分析和可能的解决方案。它可能涵盖了电感性X射线管的制造工艺、高压电源设计、瞬态保护技术的最新进展等内容...
总的来说,ANSYS APDL的瞬态动力分析能力使得工程师能够对各种复杂的动态问题进行精确建模和求解,无论是悬臂梁还是其他结构类型,都能有效地评估其动态性能。通过熟练掌握APDL,用户可以自定义复杂的命令流,提高...
针对三相交流调压电路的晶闸管-电动机系统中电动机的各种复杂瞬态,提出了一种在复数域中求解电动机运行行为的数值计算方法,与传统时域数值计算相比,该方法能够充分利用电动机空间矢量模型阶数较低的优点,减少...
描述中提到的“‘压力管道中瞬态波传播的不确定性量化和整体灵敏度分析’手稿中使用了30种瞬态数据”,暗示了研究者已经对这30个瞬态事件进行了深入的分析,包括量化不确定性以及进行整体灵敏度分析。不确定性量化是...
本主题将围绕“采用MATLAB Simulink的液压管路瞬态压力脉动分析”展开,详细介绍如何利用Simulink对液压系统的瞬态特性进行建模和仿真。 首先,理解液压管路瞬态压力脉动至关重要。压力脉动是由于流体动力学效应,...
ANSYS转子动力学--转子系统启动时的瞬态动力学分析--源文件
标题中的“电子政务-基于PMOS管的直流瞬态浪涌电压抑制电路”是指一个针对电子政务系统中电源管理的设计方案,它利用PMOS(P沟道金属氧化物半导体)场效应晶体管来抑制直流电源线上的瞬态浪涌电压。这种设计对于保护...
在电子工程和控制系统领域,瞬态响应是系统在阶跃输入或任何非稳态激励下,从初始状态过渡到稳态行为的过程。本主题聚焦于串联阻尼响应,特别是过阻尼、欠阻尼和临界阻尼这三种类型的瞬态响应。在MATLAB/SIMULINK...
瞬态荧光寿命和瞬态吸收是两种广泛用于研究分子动力学和化学反应过程的光谱技术。这两种方法都依赖于对光与物质相互作用的精细观察,从而揭示分子内部的动态行为。 **瞬态荧光寿命** 是指分子在吸收光子后处于激发...
【ANSYS 2-D瞬态磁场实例分析】是关于使用ANSYS软件进行二维瞬态磁场问题的数值模拟和解析的专题。瞬态磁场分析主要关注的是那些非静态、非谐波磁场,通常由电压、电流或外部磁场随时间变化引起。这种分析的主要目标...
文档进一步介绍了如何在Cadence Virtuoso Spectre中实现和使用瞬态噪声分析模型,并将其应用于线性和非线性噪声系统的直接时间域噪声分析。 #### Cadence Virtuoso Spectre中的瞬态噪声分析 在Cadence Virtuoso ...
CST MWS里面瞬态求解器的设置-accuracy的设置 (1)一般的理论验证或者仿真将其设置为多少?-30dB (2)如果是做一些实际的产品,又设置为多少?-60dB (3)还是根据具体的模型或产品要求,自己选择适当的档,怎么...
发动机瞬态测试系统是一种用于评估发动机性能的关键设备,尤其是在瞬态工况下(即发动机在不同负载和转速之间快速变化的状态)。这类测试系统通常应用于重型卡车和客车的柴油发动机研发过程中。本文将详细介绍该系统...