无法找到' table_name'的表元数据。

时间:2015-04-21 12:30:08

标签: java spring spring-jdbc mssql-jdbc

带有MS SQL Server的Java。在将数据保存到数据库时,我收到以下警告 -

  

WARN org.springframework.jdbc.core.metadata.TableMetaDataProvider - 无法找到' table_name'的表元数据 - 必须提供列名

此警告影响了性能的巨大时间。我尝试使用选项generateSimpleParameterMetadata=true,但它无法帮助我解决此错误。

我使用的配置如下:

  • 春天 - 3.2.3
  • sqljdbc-4.0.jar
  • Java 7

Bean属性

<bean id="abcd" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
    <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
    <property name="url" value="sqlserver://localhost:1521;databaseName=abc" />
    <property name="username" value="YYYYY" />
    <property name="password" value="ZZZZZ" />
    <property name="initialSize" value="5" />
    <property name="maxActive" value="10" />
    <property name="validationQuery" value="select TOP 1 * from sys.tables" />
    <property name="testOnBorrow" value="true" />
</bean>

以下尝试插入数据的代码

public long insert(Object object) {
    simpleJdbcInsert = new SimpleJdbcInsert(jdbcTemplate)
        .withTableName(tableName)
        .usin‌​gColumns( col2,col3,col4)
        .usingGeneratedKeyColumns(col1);
    Map<String, Object> parameters = new HashMap<String, Object>();
    parameters.put("col2", "Value2");
    parameters.put("col3", "Value3");
    parameters.put("col4", "Value4");
    Number returnId = simpleJdbcInsert.executeAndReturnKey(parameters);
    return returnId.longValue();
} 

任何帮助将不胜感激。

提前致谢

0 个答案:

没有答案