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后面的表需要一个简写 否则系统会自动认为表名后的第一个单词是你的简写,就会引起报错

发布了34 篇原创文章 · 获赞 5 · 访问量 2273

猜你喜欢

转载自blog.csdn.net/tanfei_/article/details/102840284