未注释课程中的房间例外

时间:2017-10-23 16:41:48

标签: android android-room

我有一个抽象类,我有两个@Dao子类:

public abstract class PathBase
{
    private static final String PATH_DELIMITER = "/";

    abstract PathEntity getPath(Long id);
    abstract Long insertInternal(PathEntity row);
    abstract String getDatabase();

    abstract List<Long> getAncestorsInternal(String path);
    abstract List<Long> getDescendantsInternal(String path);
    ...
}

此课程延长@Dao

@Dao public abstract class FolderDao extends PathBase

我收到此错误:

  

错误:DAO方法只能使用以下方法之一进行注释:插入,删除,查询,更新

方法:

    abstract PathEntity getPath(Long id);
    abstract Long insertInternal(PathEntity row);
    abstract String getDatabase();

它没有抱怨:

    abstract List<Long> getAncestorsInternal(String path);
    abstract List<Long> getDescendantsInternal(String path);

即使它正在跟踪@EntityPathEntity,我也不知道为什么它会为abstract String getDatabase();引发错误。

任何人都知道这里发生了什么......房间错误?

2 个答案:

答案 0 :(得分:1)

FWIW,当我将var a_string = JSON.stringify(a, ["initialisedValue", "uninitialisedValue"]); // a_string == { "initialisedValue" : "You can see me!", "uninitialisedValue" : "You can't see me!" } 粘贴到项目中,交换我的一个实体PathBase时,我收到了所有五种方法的错误,而不仅仅是前三种方法的错误我的DAO课程扩展PathEntity

这些方法不能是PathBase。房间正在生成abstract的实施,而Room无法实现这些方法。具体的错误信息并不理想,但我看不出它是如何工作的。

FWIW,我提交了an issue关于不清楚的错误消息。

答案 1 :(得分:0)

对于遇到类似复杂核心查询逻辑的情况,1.1.0 Room现在允许 .header-cart.invisible { position: fixed !important; top: 25px !important; transition: opacity 1.5s ease-out !important; } .header-cart.invisible:hover { visibility: visible; opacity: 1; } #add_to_cart_btn.button:active + .header-cart.invisible { visibility: visible; opacity: 1; transition: none !important; } 允许您自己干净地实现核心逻辑。以下是我实施此特定解决方案的方法:

https://gist.github.com/rcketscientist/4ded9ae64a770ff6929f27b5dbdbe13a