查询实体,jdoDetachedState设置为null

时间:2012-10-25 10:30:32

标签: java jpa datanucleus

当我使用JPA在Google App Engine中查询实体时,会将一个名为jdoDetachedState的字段自动添加到我的对象中。我读到它与JPA Object Lifecycle有关。 例如:

{"id":216001,"m_Name":"x","jdoDetachedState":[{"key":216001,"targetClassName":"util.Profile","hashCode":1061531169,"keyAsObject":null},null,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[]]}

问题是在反序列化(使用GSON)实体并访问getName()后,我得到:

Caused by: java.lang.ClassCastException: java.util.ArrayList at util.Profile.jdoGetm_Name

jdoGetX是另一个自动添加到我的对象中的东西。

我设法通过添加:

来修复它
@Transient   
protected Object[] jdoDetachedState;  

到我的实体并将其设置为null。

我的问题是,如果我在状态生命周期中没有任何目的,我可以查询首先将Detached State设置为null的实体。

我试过了:

EMF.get().createEntityManager().deatch(profile);

但它没有用。

0 个答案:

没有答案