当我从数据库中检索它们时,android ormlite问题与数据库字段foreign它becaume null

时间:2014-02-18 14:33:42

标签: java android sqlite ormlite

大家好,对不起我的英语。

我有一个我无法理解的大问题。我创建了一个ORMLITE的表,其中包含同一个表中的外部字段。我插入它但是当我检索它时,它总是为空。

@DatabaseTable(tableName = "Menu")
public class MenuDo {

    private static final String MENU_PARENT = "menu_parent";
    /**id unique dans la base de donnée*/
    @DatabaseField(generatedId=true,unique=true)
    private Long id;
    /**le gabarit du sous menu qui sera renvoyé par le WS*/
    @DatabaseField(canBeNull=true,columnName="gabarit")
    private String gabarit;
    /**Le label du menu qui sera renvoyé par le WS*/
    @DatabaseField(canBeNull=true,columnName="label")
    private String label;
    /**url de la redirection généralement redirection vers la liste des articles d'une rubrique*/
    @DatabaseField(canBeNull=true,columnName="url")
    private String url;
    /**Le nom de la rubrique du l'item du menu*/
    @DatabaseField(canBeNull=true,columnName="rubrique_id")
    private String rubriqueId;
    /**les sous menu contenu dans le menu*/
    @DatabaseField(foreign = true, columnName = MenuDo.MENU_PARENT)
    private MenuDo menuParent;
}

我这样插入

public void insert(final List<MenuDo> menuDo) throws SQLException {


     configurationRepository = new ConfigurationRepositoryImpl(context);
        TransactionManager.callInTransaction(
                configurationRepository.getConnectionSource(),
                new Callable<Object>() {
                    @Override
                    public Object call() throws Exception {
                        deleteAll();
                        for(MenuDo menu:menuDo)
                        {
                            insert(menu);
                        }
                        return null;
                    }
                });

}

要在数据库中插入的方法:

@Override
public void insert(C entity) {
    if(entity!=null){
        if(abstractRunTimeExceptionDao.create(entity)==0){
            throw new TechnicalException(INSERT_ERROR_MESSAGE + entity.toString());
        }
    }
}

插入时没有错误,我已经验证菜单在插入

之前父菜单不为空

但是当我从数据库中检索元素时,menuParent始终为空。

感谢您的回复。

0 个答案:

没有答案