请教:hibernate3中调用update()方法将游离状态的customer对象,再次转化成持久化状态后,懒加载全部失效?

luoxiang2000 2008-02-29 12:08:12
Configuration cfg = new Configuration();
SessionFactory sf=cfg. configure().buildSessionFactory();
Session session=sf.openSession();

Transaction tx=session.beginTransaction();
customer=(Customer)session.load(Customer.class,”1”);
customer.getOrder().getName();// *******这里可以
session.close();

Session session2=sf.openSession();
Transaction tx2=session2.beginTransaction();
session2.update(customer);
customer.getOrder().getName();// *******这句会could not initialize proxy - no Session
tx.commit();
session.close();
...全文
130 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhkchi 2008-02-29
  • 打赏
  • 举报
回复
你update的时候,应该没有数据的更新吧
luoxiang2000 2008-02-29
  • 打赏
  • 举报
回复
我的问题是对象从游离状态转化成持久化状态后,懒加载全部失效?
Bob_ouyang 2008-02-29
  • 打赏
  • 举报
回复
没有.因为当你UPDATE的时候他会检查你的内存看是否修改.如果修改了他就UPDATE数据库 没有修改他就不会修改数据库.

hibernate3.0的

3.0以后的就不知道了
handong890 2008-02-29
  • 打赏
  • 举报
回复
你这样做是不太好的 你这样试试


Configuration cfg = new Configuration();
SessionFactory sf=cfg. configure().buildSessionFactory();
Session session=sf.openSession();

Transaction tx=session.beginTransaction();
customer=(Customer)session.load(Customer.class,”1”); //也可以尝试把load改为get试试
customer.getOrder().getName();// *******这里可以
session.close();

Session session2=sf.openSession();
Transaction tx2=session2.beginTransaction();
//session2.update(customer); //开始改

Customer pojo = new Cutomer();
pojo.setName(customer.getOrder().getName();)
session2.merge();

//这样试试

customer.getOrder().getName();// *******这句会could not initialize proxy - no
tx.commit();
session.close();
luoxiang2000 2008-02-29
  • 打赏
  • 举报
回复
那么是不是可以说游离状态的对象转化成持久化状态后,懒加载不能用了???
IamHades 2008-02-29
  • 打赏
  • 举报
回复
你用session去load的,那么customer就被放在session的内存中,而你关闭session又用session2去操作它,那么在session2的内存区域内应该是找不到的
luoxiang2000 2008-02-29
  • 打赏
  • 举报
回复
没有啊!

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧