Hibernate数据加载——Session.get/load
Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。其区别在于:
1. 如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException。
2. Load方法可返回实体的代理类实例,而get方法永远直接返回实体类。
3. load方法可以充分利用内部缓存和二级缓存中的现有数据,而get方法则仅仅在内部缓存中进行数据查找,如没有发现对应数据,将越过二级缓存,直接调用SQL完成数据读取。
Session在加载实体对 ...
2008-03-16
Hibernate数据更新——Session.update/Session.saveOrUpdate
关键字: hibernate update saveorupdate
Hibernate数据更新——Session.update/Session.saveOrUpdate
Session.update执行步骤:
1. 首先根据待更新实体对象的Key,在当前session的内部缓存中进行查找,如果发现,则认为当前实体对象已经处于Persistent状态,返回。从这一点可以看出,对一个Persistent状态的实体对象调用update语句并不会发生任何作用。
2. 初始化实体对象的状态信息(作为之后脏数据检查的依据),并将其纳入内部缓存。注意这里Session.update方法本身并没有发送Update SQL完成数据更新操作,Update SQL将在之后的Se ...
Hibernate数据保存——Session.save
Session.save方法用户实体对象到数据库的持久化操作。也就是说,Session.save方法调用与实体对象所匹配的Insert SQL,将数据插入库表。Session.save方法中包含了以下几个主要步骤:
1. 在Session内部缓存中寻找待保存的对象。内部缓存命中,则认为此数据已经保存(执行过insert操作),实体对象已经处于Persistent状态,直接返回。此时,即使数据相对之前状态已经发生了变化,也将在稍后的事务提交时,由脏数据检查过程加以判断,并根据判断结果决定是否要执行对应的Update操作。
2. 如果实 ...
Hibernate 验证器文档
前言:
Annotations 是为域对象指定一个不变约束的便利而优雅的途径.例如通过它,你可以表示一个属性不应该是Null值,账户余额绝对不能是负值,等等。这些域模型的约束通过注释它的属性声明在bean自身。验证器可以读取这些注释并检查约束违反性。验证机制可以在没有重复这些规则的情况下在应用程序的不同层里执行(表示层,数据访问层).Hibernate验证器在遵循DRY规则的情况下设计.
Hibernate 验证器工作在两个级别。首先,它能检测位于内存的类实例的约束违反性.其次,它可以把约束应用在hibernate的元模型中并且把它们应用 ...
- 浏览: 6540 次
- 性别:

- 来自: 合肥

- 详细资料
搜索本博客
我的相册
SL372159
共 29 张
共 29 张
最近加入圈子
链接
最新评论
-
JBPM JPA Spring 闹别 ...
JSPM的DB建议另外配置一个库,跟业务系统的库分开 ------------ ...
-- by isky -
JBPM JPA Spring 闹别 ...
JSPM的DB建议另外配置一个库,跟业务系统的库分开。
-- by 差沙 -
JBPM JPA Spring 闹别 ...
我也想知道,这方面的资料倍儿少
-- by rockkratos -
C# Reflection
sdfgsdf ds ddddddddddddddddddddd ...
-- by sonnywanger -
C# Reflection
路过。。。。
-- by wsq777






评论排行榜