【发布时间】:2011-07-13 21:46:06
【问题描述】:
我正在使用 ORM (ORMlite) 并且我的所有调用都运行良好,直到出现以下错误。
线程“main”中的异常 org.h2.jdbc.JdbcSQLException:SQL 语句中的语法错误“ SELECT * FROM ""STORIES"" WHERE ""TITLE"" = 'Deepcut case 导致'NOT FOLLOWED[*]'' "; SQL 语句: SELECT * FROM
StoriesWHEREtitle= 'Deepcut case 导致'未遵循'' [42000-152] 在 org.h2.message.DbException.getJdbcSQLException(DbException.java:327) 在 org.h2.message.DbException.get(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.java:71) 在 org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:601) 在 com.j256.ormlite.jdbc.JdbcDatabaseConnection.compileStatement(JdbcDatabaseConnection.java:83) 在 com.j256.ormlite.stmt.mapped.MappedPreparedStmt.compile(MappedPreparedStmt.java:44) 在 com.j256.ormlite.stmt.StatementExecutor.buildIterator(StatementExecutor.java:169) 在 com.j256.ormlite.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);
【问题讨论】:
标签: java sql exception h2 ormlite