方法中 Dao refresh() 的 Javadoc 指出:
抛出:SQLException - 如果出现任何 SQL 问题,或者如果在表中找不到数据项,或者如果找到超过 1 个具有数据 ID 的项。
然而,类com.j256.ormlite.stmt.mapped.MappedRefresh有另一个 Javadoc 定义,并一直返回结果代码以进行刷新并返回给用户。
/**
* Execute our refresh query statement and then update all of the fields in data with the fields from the result.
*
* @return 1 if we found the object in the table by id or 0 if not.
*/
public int executeRefresh(DatabaseConnection databaseConnection, T data, ObjectCache objectCache)
throws SQLException {
@SuppressWarnings("unchecked")
ID id = (ID) idField.extractJavaFieldValue(data);
// we don't care about the cache here
T result = super.execute(databaseConnection, id, null);
if (result == null) {
return 0;
}
// copy each field from the result into the passed in object
for (FieldType fieldType : resultsFieldTypes) {
if (fieldType != idField) {
fieldType.assignField(data, fieldType.extractJavaFieldValue(result), false, objectCache);
}
}
return 1;
}
这是一个错误还是只是 Dao.refresh 的 Javadoc 错误?
我在看 OrmLite 4.41。