Как мы можем переименовать имя столбца в ORMLite?Как переименовать столбцы в ORMLite?
Я пытаюсь написать этот запрос SELECT id as _id from some_table
Android Cursor переходника требует от нас, чтобы иметь столбец с именем _id
и ORMLite
требует от нас, чтобы иметь столбец с именем id
.
Я пытаюсь написать этот запрос и вернуть Cursor
из этого запроса.
Dao<NewsArticle, Long> newsArticleDao =
((SomeApp)mContext.getApplicationContext()).getDAOConnection().getDAO(
NewsArticle.class);
QueryBuilder<NewsArticle, Long> query = newsArticleDao.queryBuilder().selectRaw(
"`id` as `_id`");
PreparedQuery<NewsArticle> preparedQuery = query.prepare();
CloseableIterator<NewsArticle> iterator = newsArticleDao.iterator(preparedQuery);
AndroidDatabaseResults results =
(AndroidDatabaseResults)iterator.getRawResults();
cursor = results.getRawCursor();
Это то, что я до сих пор, но я получаю эту ошибку, когда я прохожу запрос iterator.
java.sql.SQLException: Could not compile this SELECT_RAW statement since the caller is expecting a SELECT statement. Check your QueryBuilder methods.
Ваша одиночная цитата вокруг id выглядит странно. У вас есть угловой «вместо прямой». Может это просто опечатка? – NigelK
Я положил его во время игры, так как это делает ORMLite, и это не проблема, вы можете его игнорировать. Иначе это не даст этой ошибки. Мой запрос правильный. Я просто не знаю, как применить этот запрос к «DAO» и получить результаты. –