java - 使用queryRaw()自动加载ForeignCollection

标签 java android ormlite foreign-collection

我有一个Card类,其中有一个渴望ForeignCollection在里面。我必须使用 Dao.queryRaw() 查询此类的实例。 ,因为我的SELECT太复杂了,无法用简单的 QueryBuilder 来构建(参见我的other question)。这就是我使用 RawRowMapper 查询和构建对象的方式:

GenericRawResults<String[]> rawResults = getCardDao().queryRaw(statement);
List<Card> results = new ArrayList<Card>();

for (String[] row : rawResults) {
    results.add(getCardDao().getRawRowMapper().mapRow(rawResults.getColumnNames(), row));
}

rawResults.close();

不幸的是,当我尝试获取ForeignCollection时在我的对象上,它返回 null。如果我用简单的 Dao.queryForFirst 查询对象,ForeignCollection没问题。

最佳答案

我今天也遇到了同样的问题。 我的解决方案是将某些内容称为

dao.refresh(<Card object>)

对于 queryRaw 函数返回的每个对象(并累积到“结果”列表中)。 这对我来说很有效,从数据库中重新加载带有填充的外部集合的对象。

关于java - 使用queryRaw()自动加载ForeignCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18104945/

相关文章:

java - 从 Java 程序运行 Bash 以在 Raspberry Pi 上捕获网络摄像头图像

java - Hibernate JPA 序列(非 Id)

android - 在另一个 XML 布局文件中包含现有的 XML 布局文件

Android:当键盘消失时,EditText 上的错误弹出窗口不会向下移动

java - 想要编写一个类,以便在该类中声明的变量和方法在多个类中使用

java - 使用 JdbcTemplate 从数据库读取大数据并通过 api 公开?

javascript - 尝试从 webview 获取位置时出现 Android "SQLite database failed to load from/CachedGeoposition.db"错误

android - 在android上使用ormlite删除?

java - 如何在ORMLite中指定对象自定义序列化?

android - 从 Ormlite 读取日期时的时区问题