请教一个诡异的ejb3问题
请教一个ejb3的问题:
我的程序环境是weblogic、ejb3、openjpa
现在遇到一个诡异的问题:
我定义了一个实体A
class A {
Long id;
String name;
@Transient
Map map;
}
当我用entityManager的接口根据id取出一个实体A的数据
A a = entityManager.find(A.class, 1);
然后我往A的map属性put一些值:
a.map.put("name", "test");
当我把实体a返回给web客户端(通过远程接口)时,
web得到的实体a只有id和name之类属性有值,而map没有值。
我开始以为是@Transient注解的原因,但是当我在A的构造函数里,new一个map,然后put数据进去,然后返回给web客户端,web拿到的实体a的map却是有值的。
class A {
Long id;
String name;
@Transient
Map map;
A(){
map = new HashMap();
map.put("name", "test");
}
}
这样put,web客户端拿到的实体的map属性有数据。
请问各位大侠,这是什么原因啊?
是不是我某些地方用错了?