`
lijunlong
  • 浏览: 20339 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • rxin2009: lz你这样就可以看到局部变量的值呢?或者是方法参数的名称?? ...
    HashMap的resize

Hibernate3.3.2笔记

阅读更多
get()与load()的区别
l  查找时,都会优先从session的缓存中查找.
l  查找不存在对应记录时,表现不一样.load方法查找不到时不会报错,get查找不到时会报错.
l  Load返回的是代理对象,等到真正要用到对象的内容时才发起SQL语句.get直接发起SQL语句从数据库中取出,不会延迟.
Update()方法
1 用来更新detached对象,更新完成之后成为persistent.
2 更新transient对象会报错. 更新自己设定id(前提是id在数据库中存在)的transient对象可以.
3 持久化的对象只要设定不同字段就会发生更新
4 更新部分更改的字段(三种方法)
l  XML设定property标签的update=true|false属性,
annotation设定@Column(updatable=false)属性,这种方式少用,不灵活.
l  XML设定class标签的dynamic-update=”true”属性,
同一个session中可以,跨session不行.跨session时的实现方法不过可以用session的merge().merge方法会先从数据库load,将得到的和数据库中的进行对比,再update更改过的字段.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics