我有一个实体,我的一个属性是一个对象的 ArrayList,它是序列化的。我正在尝试删除列表中的一个元素并保留该实体。在本地一切正常,但在部署时却不行。
我的代码:
@Inject
public Repository<User> userRepo;
...
Leader leader = (Leader) item.getModelObject();
...
MySession.get().getUser().getLeaders().remove(leader);
JDOHelper.makeDirty(MySession.get().getUser(), "leaders");
userRepo.persist(MySession.get().getUser());
用户实体中的属性定义:
@Persistent(defaultFetchGroup = "true", serialized = "true")
@Extension(vendorName = "datanucleus", key = "gae.unindexed", value = "true")
private ArrayList<Leader> leaders = new ArrayList<Leader>();
我正在使用 datanucleus-core 版本 1.1.6、jdo2-api 2.3-eb 和 datanucleus-appengine 1.0.10
当我向列表中添加新项目时它可以正常工作,但当我删除某些内容时它不能正常工作 - 为什么会这样?我怎样才能让它发挥作用?