Hibernate数据保存——Session.save
Session.save方法用户实体对象到数据库的持久化操作。也就是说,Session.save方法调用与实体对象所匹配的Insert SQL,将数据插入库表。Session.save方法中包含了以下几个主要步骤:
1. 在Session内部缓存中寻找待保存的对象。内部缓存命中,则认为此数据已经保存(执行过insert操作),实体对象已经处于Persistent状态,直接返回。此时,即使数据相对之前状态已经发生了变化,也将在稍后的事务提交时,由脏数据检查过程加以判断,并根据判断结果决定是否要执行对应的Update操作。
2. 如果实体类实现了Lifecycle接口,则调用待保存对象的onSave方法。
3. 如果实体类实现了Validatable接口,则调用其validate方法
4. 调用对应拦截器的Interceptor.onSave方法(如果有的话)
5. 构造Insert SQL,并执行
5. 记录插入成功,实体对象的id被设定未insert操作返回的新记录id值
7. 将user对象放入内部缓存。这里值得一提的时save方法不会把实体对象纳入二级缓存,因为通过save方法保存的实体对象,在事务的剩余部分中被修改的几率往往很高,缓存的频繁更新以及随之而来的数据同步问题的代价,已经超过了此数据得到重用的可能收益,得不偿失。
8. 最好,如果存在级连关系,对级连关系进行递归处理。
分享到:
相关推荐
struts2+Spring+Hibernate帮助文档_中文 struts2+Spring+Hibernate帮助文档_中文 struts2+Spring+Hibernate帮助文档_中文 struts2+Spring+Hibernate帮助文档_中文
hibernate-release-4.0.0.Final.zip
weblogic12 下最新 org.hibernate.hql.ast.HqlToken解决办法
hibernate-release-4.3.10.Final.zip 官方原版,因上传文件大小限制,去掉里面的project
hibernate-release-4.1.4.Final源码,是学习和使用hibernate的好资源,领略大师的编码规则,掌握高超的编码技术,值得学习!hibernate开发人员必备资料!
hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+tomcat 5.5.x(配置jndi)hibernate 3.1+...
hibernate-annotations-3.4.0.GA hibernate-annotations-3.4.0.GA hibernate-annotations-3.4.0.GA
hibernate-entitymanager-3.4.0.GA.rar hibernate-entitymanager-3.4.0.GA.rar hibernate-entitymanager-3.4.0.GA.rar hibernate-entitymanager-3.4.0.GA.rar hibernate-entitymanager-3.4.0.GA.rar hibernate-...
hibernate-release-5.0.7.Final.zip开发包文件89.7m,测试没问题,安全可靠,欢迎大家下载!
这个资源对应的是我的博客里头的hibernate模拟程序的源码
Hibernate稳定版(hibernate-release-5.3.23.Final.zip),Hibernate ORM 是一个为应用程序、库和框架提供对象/关系映射 (ORM) 支持的库。它还提供了 JPA 规范的实现,这是 ORM 的标准 Java 规范。
hibernate-mapping-3.0.dtd 配置后,就会在xml中进行提示
hibernate-configuration-3.0.dtd、hibernate-mapping-3.0.dtd、hibernate.properties(5.0.7)
最新版Latest release announcement (2018-07-05): 5.3.2.Final. hibernate-release-5.3.2.Final
hibernate-release-5.3.7.Final
详解hibernate.hbm2ddl.atuo 属性的配置
使用hibernate-validator 进行校验的jar包,里面包括了基础hibernate-validator-5.0.0.CR2.jar hibernate-validator-annotation-processor-5.0.0.CR2.jar 之外,还包括了el-api-2.2.jar javax.el-2.2.4等项目必不可...
Hibernate.jar包,Hibernate可以应用在任何使用JDBC的场合,包含 hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.12.Final.jar hibernate-ehcache-4.1.12.Final.jar hibernate-entitymanager-...
hibernate-annotations-3.4.0.GA+hibernate-distribution-3.3.2.GA完整jar包
hibernate-release-5.0.7.Final的源码,有需要的人可以下载