每当查询该表时,使用ORMLITE的数据库类的@ForeignCollectionField为null

时间:2015-07-03 17:19:53

标签: android sql database ormlite

这是数据库表

@DatabaseTable(tableName = "Menus")
public class Menus {

@DatabaseField(columnName = "menuId", id = true)
private String id;

@ForeignCollectionField(eager = true)
private ForeignCollection<Test> test;}

这是外国收藏品

@DatabaseTable(tableName = "Test")
public class Test  {
@DatabaseField(foreign = true, foreignAutoCreate = true, foreignAutoRefresh = true)
private Menus menu;

@DatabaseField(columnName = "id", id = true)
private String id;

@DatabaseField(columnName = "name")
private String name;}

我查询了

    ArrayList<Menus> courseList = null;
    try {
        courseList = (ArrayList<Menus>) menuDao.queryForAll();

    } catch (SQLException e) {
        e.printStackTrace();
    }

我得到的每个术语除了返回null的foreignCollection。

有人有解决方案吗?

1 个答案:

答案 0 :(得分:0)

我知道你将foreignAutoRefresh设置为true,但是你试过调用

menuDao.refresh(test.getMenu());

? 我在foreignAutoRefresh以及ForeignCollectionFields的&#34; eager&#34;中遇到了一些问题但是如果你手动刷新它会每次都有效。