gpt4 book ai didi

java - ArrayList 不想持久保存在 AppEngine HR 数据库上,如何修复?

转载 作者:行者123 更新时间:2023-12-01 15:42:19 27 4
gpt4 key购买 nike

我试图持久化ArrayList,但它不起作用。一切在本地很棒 [M/S db],但是当我部署它时 [HR] 那么对象就会不坚持。有什么想法吗?这真的很奇怪,我找不到任何解决方案。

我使用 JDO 与 DataNucleus 和 Guice 进行注入(inject),这是所需的代码:

@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 关闭:未完成的 nontx 更新致力于数据存储

最佳答案

你在持久化的时候使用currentTransaction吗?

我希望我有更多关于此的信息,但我遇到了类似的问题,同时在 GAE 中使用 JDO 从 datanucleus 中进行持久化和检索,并且我在使用时发现了这一点

persistenceManager.currentTransaction().begin();
// persist and/or retrieve
persistenceManager.currentTransaction().commit();

我没有再遇到任何问题。

希望对您有所帮助。

关于java - ArrayList 不想持久保存在 AppEngine HR 数据库上,如何修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7846501/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com