这是我写的相关代码:
new SimpleJdbcInsert(dataSource)
.withSchemaName("test")
.withTableName("tableName")
.usingGeneratedKeyColumns("idColumn");当我调用executeAndReturnKey(parameters)时,我在控制台上读到了以下内容:
警告org.springframework.jdbc.core.metadata.TableMetaDataProvider:locateTableAndProcessMetaData:336无法为“tableName”定位表元数据--必须提供列名
这一切为什么要发生?我知道我可以手动指定列名,但我相信这不是使用JdbcSimpleInsert的意义。
发布于 2013-02-15 09:14:26
在不同的MySQL服务器上执行相同的查询时,我遇到了一个错误:java.sql.SQLException: Parameter metadata not available for the given statement。
所以我用石头杀了鸟:)
因此,只需将generateSimpleParameterMetadata=true添加到JDBC 中,一切都将按预期工作。
发布于 2017-05-13 21:41:03
我犯了一个相同的错误,原因不一样。在JDBC连接字符串中,我列出了模式。因此,放置withSchemaName子句会导致此错误。当我移除它的时候,插入就起作用了。
https://stackoverflow.com/questions/14750485
复制相似问题