0

我有一Card堂课,里面有一个渴望ForeignCollection。我必须使用 a 来查询此类的实例Dao.queryRaw(),因为 mySELECT太复杂而无法用简单的方式构建QueryBuilder(请参阅我的其他问题)。这就是我查询和构建对象的方式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就可以了。

4

1 回答 1

1

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

dao.refresh(<Card object>)

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

于 2014-03-19T13:31:18.603 回答