当前位置: 技术问答>java相关
Ejb 的参数是 javabean 那么值的传递问题
来源: 互联网 发布时间:2015-07-29
本文导语: session Bean: AA changeBox(Box aa){ aa.set("99999");} ------------------------------------------------- javabean: Box implements java.io.Serialiable { priavte String book; public get/set } ------------------------------------------------- client: 1.Box box1 = ...
session Bean: AA
changeBox(Box aa){ aa.set("99999");}
-------------------------------------------------
javabean: Box implements java.io.Serialiable
{ priavte String book;
public get/set
}
-------------------------------------------------
client:
1.Box box1 = new Box();
2.box1.set("11111");
3. look up AA , AA.changeBox(box1);
4. box1.get() ==???
______________________________________
说说理由吧, 假如AA 不是Ejb, 是普通的javabean ,结果有不一样。 谢谢。
changeBox(Box aa){ aa.set("99999");}
-------------------------------------------------
javabean: Box implements java.io.Serialiable
{ priavte String book;
public get/set
}
-------------------------------------------------
client:
1.Box box1 = new Box();
2.box1.set("11111");
3. look up AA , AA.changeBox(box1);
4. box1.get() ==???
______________________________________
说说理由吧, 假如AA 不是Ejb, 是普通的javabean ,结果有不一样。 谢谢。
|
是 11111
传过去的时候是一个对象的copy
除非把改动的对象返回再付值原对象。
传过去的时候是一个对象的copy
除非把改动的对象返回再付值原对象。
|
是的,你的EJB中改变的只是EJB端反序列化后新生成的一个box对象,而不是原先的客户端的box1