Unknown column 'JOIN.id' in 'order clause'和 Unknown column 'XXXX.id' in 'order clause'的解决办法

在java读取数据中 经常会用到表连接,这就需要用到java原生语句就行表连接

@Query(value="SELECT * FROM news INNER JOIN typ ON n.ttid=typ.tid where title LIKE CONCAT('%',:title,'%')",nativeQuery=true)
	Page<List<Map>> finAllP(Pageable page,String title);

例如以上代码 就行表连接的时候就会报错

Unknown column 'INNER.id' in 'order clause'

如果把inner删除掉 就会报错

Unknown column 'JOIN.id' in 'order clause'

所以到这里就可以知道正确的写法了

@Query(value="SELECT * FROM news  INNER JOIN typ ON n.ttid=typ.tid where title LIKE CONCAT('%',:title,'%')",nativeQuery=true)
	Page<List<Map>> finAllP(Pageable page,String title);

这样就不会报错,所以可以得到一个结论,那就是就行表连接的时候,from后面的表需要一个简写 否则系统会自动认为表名后的第一个单词是你的简写,就会引起报错

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值