【发布时间】:2013-01-22 21:58:01
【问题描述】:
这是我写的相关代码:
new SimpleJdbcInsert(dataSource)
.withSchemaName("test")
.withTableName("tableName")
.usingGeneratedKeyColumns("idColumn");
当我打电话给executeAndReturnKey(parameters) 时,我在控制台上看到了这个:
警告 [org.springframework.jdbc.core.metadata.TableMetaDataProvider:locateTableAndProcessMetaData:336] (主要:)无法找到“tableName”的表元数据——列 必须提供姓名
为什么会这样?我知道我可以手动指定列名,但我相信这不是使用 JdbcSimpleInsert 的重点。
- MySQL 版本为 5.5.9
- MySQL 连接器/J 5.1.23
- 春季 3.2.1
【问题讨论】:
-
您是否有一个名为 tableName 的表,其中包含列并且您可以从 sql 读取/写入它?
-
当然,事实上,如果我使用 usingColumns() 手动指定要写入的列,则查询会正确生成并且可以正常工作。
标签: java mysql spring spring-jdbc