Операция SqlMapClient; плохая грамматика SQL: таблица не найдена

Я использую Ibator для генерации материалов Ibatis, поэтому все артефакты генерируются автоматически. Я пытаюсь сделать простую вставку, которая дает исключение "таблица не найдена", хотя таблица существует ", и я могу запросить ее из консоли.

Вот ошибка

org.springframework.jdbc.BadSqlGrammarException: SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:   

--- Ошибка произошла в com / sqlmaps / MY_TABLE_NAME_SqlMap.xml.
--- Ошибка произошла при применении карты параметров.
--- Проверьте ## MY_TABLE_NAME.insert-InlineParameterMap.
--- Проверьте заявление (обновление не удалось).
--- Причина: java.sql.SQLException: ошибка SQL Anywhere -141: таблица '#MY_TABLE_NAME' не найдена

Файл SQL MAP

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="##MY_TABLE_NAME">
  <insert id="insert" parameterClass="com.model.MyTable">
    <!--
      WARNING - @ibatorgenerated
      This element is automatically generated by Apache iBATIS Ibator, do not modify.
      This element was generated on Mon Jul 06 19:54:34 IST 2015.
    -->
    insert into ##MY_TABLE_NAME (field1, field2, field3, field4)
    values (#field1:tinyint#, #field2:DATE#, #field3:INT#, #field4:BIGINT#)
  </insert>
 </sqlMap>

Внутри Ibator config я определил свойство таблицы

<property name="runtimeTableName" value="##MY_TABLE_NAME" />

1 ответ

Я добавил ниже код в log4j.xml, чтобы проверить, какой запрос он генерирует

<logger name="java.sql" additivity="false">
<level value="debug" />
<appender-ref ref="CONSOLE" />

и я обнаружил, что это генерирует неправильное имя таблицы, это был префикс имени таблицы с #symbol, что было неправильно в ibatorConfig.xml

Другие вопросы по тегам