【发布时间】:2015-05-13 10:36:27
【问题描述】:
我正在运行 Spring Batch 并使用 JdbcPagingItemReader。使用示例配置:
<bean id="dogQueryProvider" class="org.springframework.batch.item.database.support.SqlPagingQueryProviderFactoryBean">
<property name="databaseType" value="mysql" />
<property name="dataSource" ref="dataSource" />
<property name="selectClause"
value="SELECT owner.id as ownerid, first_name, last_name, dog_name " />
<property name="fromClause"
value="FROM dog_owner owner INNER JOIN dog ON owner.id = dog.id " />
<property name="sortKey" value="owner.id" />
</bean>
我收到与以下相关的错误:
订单子句中的“id”列不明确;嵌套异常是 com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: order 子句中的列 'id' 不明确。
假设dog_owner 和dog 表有id 列。我认为这与AbstractSqlPagingQueryProvider.getSortKeysWithoutAliases 有关,我认为它从指定为sortKey 的owner.id 中剥离了owner。有解决此问题的建议吗?
【问题讨论】:
标签: spring-batch