Java ArrayList不想在AppEngine HR数据库上持久化,如何修复?
我正试图坚持和ArrayList,但它不起作用。一切 在本地[M/S db]非常好,但是当我部署它[HR]时,对象就可以了 不坚持。你知道为什么吗?这真的很奇怪,我找不到 解决方案 我将JDO与DataNucleus和Guice一起用于注入,下面是必需的代码:Java ArrayList不想在AppEngine HR数据库上持久化,如何修复?,java,google-app-engine,jdo,datanucleus,Java,Google App Engine,Jdo,Datanucleus,我正试图坚持和ArrayList,但它不起作用。一切 在本地[M/S db]非常好,但是当我部署它[HR]时,对象就可以了 不坚持。你知道为什么吗?这真的很奇怪,我找不到 解决方案 我将JDO与DataNucleus和Guice一起用于注入,下面是必需的代码: @Persistent(defaultFetchGroup = "true", serialized="true") private ArrayList<ArrayList<Long>> colonisations
@Persistent(defaultFetchGroup = "true", serialized="true")
private ArrayList<ArrayList<Long>> colonisations = new
ArrayList<ArrayList<Long>>();
@Persistent(defaultFetchGroup=“true”,serialized=“true”)
private ArrayList colonisations=新建
ArrayList();
在用户级
另一个试图持久化数据的类:
@Inject
public Repository<User> userRepo;
...
...
MySession.get().getUser().getColonisations().add(colonisation);
...
...
Colonisation.this.userRepo.persist(MySession.get().getUser());
@Inject
公共存储库用户回购;
...
...
MySession.get().getUser().getColonisations().add(殖民);
...
...
colonization.this.userRepo.persist(MySession.get().getUser());
我从日志中得到的唯一提示是:
org.datanucleus.ObjectManagerImpl关闭:未完成的nontx更新
提交到数据存储时是否在持久化时使用currentTransaction 我希望有更多关于这方面的信息,但在GAE中使用JDO从datanucleus中持久化和检索数据时,我遇到了类似的问题,我在使用
persistenceManager.currentTransaction().begin();
// persist and/or retrieve
persistenceManager.currentTransaction().commit();
我没有任何问题了
我希望我已经帮了一点忙。使字段变脏解决了这个问题,因此DataNucleus看到它被更改了
JDOHelper.makeDirty(...)
顺便说一句,在做了任何修改后,我把我的列表弄脏了。