该报错翻译过来:某一列定义模糊,经过多次测试,终于得到解决。尤其是在涉及到tablename.*,这里的*很容易出现这样的错误。
下面贴出我的代码:
<sql-query name="queryStoreByRes">
select a.id id,
a.resource_id resourceId,
a.resource_type resourceType,
a.kpi_id kpiId,
a.value value,
a.create_date createDate,
a.status status,
a.kpi_code kpiCode,
a.configid configId,
a.configid configId,
a.dateslot dateslot,
a.command_name commandName
from RES_MNT_STORE_DATA a
where a.id in (select max_id
from (select max(t.id) max_id, t.kpi_code kpi_code
from RES_MNT_STORE_DATA t
where t.resource_id = '66105'
group by t.kpi_code))
</sql-query>
发现木有?a.configid configId,被重复写了两遍,这在数据里执行时没有问题,但因为需要与java的实体类保持一致,放在程序里就出错了。