2014-11-14 56 views
2

如何在使用Ormlite的select中执行子查询。我尝试这个Ormlite子查询中select

QueryBuilder<Group, Long> queryBuilder = groupDAO.queryBuilder(); 
      queryBuilder.selectColumns(BaseColumns._ID ,Group.COLUMN_TITLE, "(SELECT relation_type FROM groupmembership as gr WHERE `group`._ID = gr.group_id AND gr.user_id = 687)"); 

,但得到的异常

java.lang.IllegalArgumentException: Unknown column name '(SELECT relation_type FROM groupmembership as gr WHERE `group`._ID = gr.group_id AND gr.user_id = 687)' in table groups 

顺便说。我知道rawQuery(),但我想用QueryBuilder

回答

0

这是不可能的,因为QueryBuilder.selectColumns()在添加到查询之前检查列名称。

我发现这个源

private void addSelectColumnToList(String columnName) { 
    verifyColumnName(columnName); 
    selectColumnList.add(columnName); 
}