我试图坚持和ArrayList,但它不起作用。一切 本地很好[M / S db],但是当我部署它[HR]时,对象就可以了 不坚持有什么想法吗?这真的很奇怪,我找不到任何东西 溶液
我使用JDO和DataNucleus以及Guice进行注射,这里是必需的代码:
@Persistent(defaultFetchGroup = "true", serialized="true")
private ArrayList<ArrayList<Long>> colonisations = new
ArrayList<ArrayList<Long>>();
用户类
另一个试图保留数据的类:
@Inject
public Repository<User> userRepo;
...
...
MySession.get().getUser().getColonisations().add(colonisation);
...
...
Colonisation.this.userRepo.persist(MySession.get().getUser());
我从日志中获得的唯一提示是:
org.datanucleus.ObjectManagerImpl close:杰出的nontx更新 致力于数据存储
答案 0 :(得分:1)
你是否在持续时使用currentTransaction?
我希望我有更多关于此的信息,但我遇到了类似的问题,同时在GAE中使用JDO持久化并从datanucleus中检索,我发现在我使用时
persistenceManager.currentTransaction().begin();
// persist and/or retrieve
persistenceManager.currentTransaction().commit();
我没有任何问题。
我希望我有所帮助。
答案 1 :(得分:0)
使字段变脏可以解决问题,因此DataNucleus发现它已被更改。
JDOHelper.makeDirty(...)