gpt4 book ai didi

android - 持久双向关系 ormlite

转载 作者:行者123 更新时间:2023-11-30 04:14:19 25 4
gpt4 key购买 nike

我有这些类(class):

public class AllegationContent {

@DatabaseField(generatedId = true)
protected long id;

@DatabaseField(canBeNull = true, foreign = true)
private AllegationItem allegationItem;

@DatabaseField()
protected String content;
...
}

和:

public class AllegationItem {
@DatabaseField(generatedId = true)
protected long id;

@ForeignCollectionField(eager = false)
protected ForeignCollection<AllegationContent> allegationContent;
...
}

我怎样才能坚持两者?我正在尝试这个:

    allegationContentDao = getAllegationContentDao();   
AllegationContent allegationContent = new AllegationContent();
allegationContent.setContent("allegation content");
allegationContentDao.create(allegationContent);

allegationItemDao = getAllegationItemDao();
AllegationItem allegationItem = new AllegationItem();
AllegationContent allegationContent2 = allegationContentDao.queryForSameId(allegationContent); //is that wrong?
allegationItem.getAllegationContent().add(allegationContent2);
allegationItemDao.create(allegationItem);

但是我得到了这个错误:

04-24 10:41:57.128: ERROR/AndroidRuntime(802): java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.project/br.com.project.DaoTestActivity}: java.lang.NullPointerException

最佳答案

我解决了。该表无法创建,因为没有属性,只有 id(这是另一个问题)。 NPE 发生是因为 getAllegationContent 返回 null,所以首先我需要创建一个 ForeignCollection 列表,使用 setAllegationContent 进行设置,然后获取。

关于android - 持久双向关系 ormlite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10299223/

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