hibernate对象状态 的小问题
Class classA{ List a; public void setA(List a) { this.a =a; } public List getA() { return this.a; } } .... classA t;//处于hibernate管理状态下面 List b=new ArraryList<>(); b.add(new Object()); /** 成功 */ t.getA().add(b);//maybe addAll(b) //如果使用t.a=b;则会失败 session.update(t)
分析原因:
t.a=b 改变了t的引用地址,重新指向的这个地址,对象不在hibernate的管理状态中。
t.getA().add(b);没改变引用,只是修改了引用内部的值
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。