Я использую ORM (ORMlite), и все мои вызовы работают нормально, пока я не получу следующую ошибку.
Исключение в потоке "main" org.h2.jdbc.JdbcSQLException: синтаксическая ошибка в операторе SQL "SELECT * FROM" "STORIES" "WHERE" "TITLE" "" = 'Глубокий регистр приводит' NOT FOLLOWED [*] '' "; Оператор SQL: SELECT * FROM
Stories
WHEREtitle
= 'Deepcut приводит к' не отслеживается '' [42000-152] в org.h2.message.DbException.getJdbcSQLException (DbException.java:327) в org.h2.message.DbException. получить (DbException.java:167) в org.h2.message.DbException.get (DbException.java:144) в org.h2.message.DbException.getSyntaxError (DbException.java:179) в org.h2.command.Parser .getSyntaxError (Parser.java:480) на org.h2.command.Parser.prepareCommand (Parser.java:229) на org.h2.engine.Session.prepareLocal (Session.java:426) на org.h2.engine. Session.prepareCommand (Session.java:374) в org.h2.jdbc.JdbcConnection.prepareCommand (JdbcConnection.java:1093) в org.h2.jdbc.JdbcPreparedStatement. (JdbcPreparedStatement.jgc:71) в JdbcConnection.prepareStatement (JdbcConnection.java:601) в com.j256.ormlite.jdbc.JdbcDatabaseConnection.compileStatement (JdbcDatabaseConnection.j ava: 83) на com.j256.ormlite.stmt.mapped.MappedPreparedStmt.compile (MappedPreparedStmt.java:44) в com.j256.ormlite.stmt.StatementExecutor.buildIterator (StatementExecutor.java:169orml) на com.j25 .stmt.StatementExecutor.query (StatementExecutor.java:119) в com.j256.ormlite.dao.BaseDaoImpl.query (BaseDaoImpl.java:189)
Я не понимаю, что идет не так. Я вызываю поиск из этих строк:
// get our query builder from the DAO
QueryBuilder<Story, Integer> queryBuilder = StoryDao.queryBuilder();
// the 'title' field must be equal to title (a variable)
queryBuilder.where().eq(Story.TITLE_FIELD_NAME, title);
// prepare our sql statement
PreparedQuery<Story> preparedQuery = queryBuilder.prepare();
// query for all stories that have that title
List<Story> accountList = StoryDao.query(preparedQuery);