我有以下两个类,其中 Document 扩展了一个提供辅助函数的 Abstract 类,其中一个是“find”方法,它基于一些简单的逻辑构建查询以查找记录。
public abstract class AbstractTable<T extends AbstractTable<T>> extends Model {
...
public T find (String[] columns) {
String whereClause = "";
List<Object> whereClauseData = new ArrayList<Object> ();
for (String column : columns) {
Object data = this.get(column);
if (data == null) {
whereClause += column + " is null AND ";
} else {
whereClause += column + " = ? AND ";
whereClauseData.add (data);
}
}
return findFirst (whereClause.substring(0, whereClause.length () - 5), whereClauseData.toArray());
}
}
public class Document extends AbstractTable<Document> {
...
public Document findExistingObject(Document document) {
String[] columns = new String[] {"court_case_id", "number", "name", "file_date"};
return super.find (columns);
}
}
当我运行此代码并在 Document 上调用“findExistingObject”方法时,我收到此异常:
线程“main”org.javalite.activejdbc.InitException 中的异常:无法确定模型类名称,您确定模型已被检测吗?
我已经完全确定我已经对课程进行了检测。当我将代码从 AbstractTable 移动到 Document 时,一切正常。我希望有人可以提供一些建议或帮助,这可能会告诉我我做错了什么。
提前致谢。