摘要: 通过get和load都可以从数据库中取到数据组装成一个对象。但这两个方法间有一点区别:1、调用get方法的时候,会马上向数据库发出sql语句查询,返回对象。调用load方法则不会马上发sql语句,返回的是一个代理对象。当真正使用的时候才会发出sql。所以要求这时Session的transaction还没有提交,否则包延迟初始化异常。2、如果取的记录是数据库中不存在的,调get方法是马上会报错(找不... 阅读全文
posted @ 2010-02-10 13:46 咖啡不苦 阅读(232) 评论(0) 推荐(0) 编辑
摘要: hibernate中的对象有三种状态。Transient(瞬时的),Persistent(持久的),Detached(离线的)。下面从内存和数据库中是否存在与之对应的记录来说明这三种状态的区别:Transient:刚new出来的普通对象,在内存里有,Session的缓存里没有,没有ID,数据库里没有对应记录;Persistent:内存里有,Session的缓存里有,有ID,数据库里有对应记录;De... 阅读全文
posted @ 2010-02-10 13:17 咖啡不苦 阅读(276) 评论(0) 推荐(0) 编辑