我正在尝试在Android中使用库DBFlow。我之前和之前的版本(2.2.1)使用过它,它使用了$ Table.field。现在它似乎有另一种格式,我们通过" _Table"来引用一个新类。
示例:
int taxBracketCount = SQLite.select(count(Employee_Table.name))
.from(Employee.class)
.where(Employee_Table.salary.lessThan(150000))
.and(Employee_Table.salary.greaterThan(80000))
.count();
这些" _表"何时何地课程创建?我如何访问它们? (即使我想使用旧版本,我新创建的工作室项目也不会创建$文件。对此或两者的一些解释会很好)
答案 0 :(得分:4)
您需要为要生成的文件运行成功的构建。确保您的代码可以编译,因此删除对“_Table”类的任何引用并首先运行您的项目,然后您应该能够访问它们。
答案 1 :(得分:2)
我最近发现了一些奇怪的错误,说它无法找到那些" $ Table"课程,但实际上他们已经建立并在那里。
我评论并取消注释每个新的java文件。最终我找到了因为没有" @ PrimaryKey"在DBFlow的一个模型类中。
因此,您必须为您的DBFlow模型类定义血腥的" @ PrimaryKey" (并且不要忘记扩展BaseModel 以及)。 PS:DBFlow版本3.0.0-beta
/Users/XXX/code_projects/###/src/main/java/com/XXXXX.java:9: error: cannot find symbol
import com.XXX.databasemodel.XXX$Table
答案 2 :(得分:2)
_Table类及其与数据库通信的相应方法是在构建项目时创建的。即使出现这些错误,您也可以构建它,并且可以在那一刻创建它们。
如果您仍然面临这个问题,请务必在课堂上添加@Table注释,否则就无法创建。
答案 3 :(得分:0)
我遇到了同样的问题,但原因是没有注释
@Table(databaseName = AppDatabase.NAME)
位于
的顶部public class AwesomeModel extends BaseModel
@PrimaryKey(autoincrement = false)
@Column @Expose long id;
public long getId() {
return id;
}
}
...类