请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

JPA生成查询语句语法报错

findByCategoryTypeIn这个测试,传入数组查询,数据库生成的查询语法有误,生成的语法:

https://img1.sycdn.imooc.com//szimg/5b90ded400015f7304570277.jpg

正确语法应该是

https://img1.sycdn.imooc.com//szimg/5b90df1e0001793503900227.jpg

jpa配置文件

https://img1.sycdn.imooc.com//szimg/5b90df460001f47209300173.jpg

我怎么改都没用,我该怎设置?

正在回答 回答被采纳积分+3

1回答

提问者 消逝的菜鱼 2018-09-07 17:47:14

怒了,写SQL,JPA用起来真的麻烦,之后还是转MyBatis吧。

0 回复 有任何疑惑可以回复我~
  • findByCategoryTypeIn这个测试,把代码写全我看看。或者把代码push一下我看看。我使用中,jpa用起来是比mybatis方便很多的,jpa和mybatis都不算小众产品,要对他们有信心。
    回复 有任何疑惑可以回复我~ 2018-09-08 11:30:37
  • 提问者 消逝的菜鱼 回复 廖师兄 #2
    怕出错,特地重新对着敲了一遍,一模一样,连IDE我都换成一样的,它就是报错,唯一不同的就只有SpringBoot和SpringCloud的版本不一样,老师的SpringBoot2.0.0.M3和SpringCloud Finchley.M2我从中央仓库撸不下来,尤其是Finchley.M2撸下来一个unknown文件夹,看了官网,现在没有这个版本了。现在写注解解决了SQL生成错误的问题了。
    回复 有任何疑惑可以回复我~ 2018-09-10 17:15:16
  • 提问者 消逝的菜鱼 回复 廖师兄 #3
    public interface ProductCategoryRepository extends JpaRepository<ProductCategory,Integer> {
    
        @Query(value = "select * from product_category where category_type IN (:categoryTypeList)",nativeQuery = true)
        List<ProductCategory> findByCategoryType(@Param("categoryTypeList")List<Integer> categoryTypeList);
    }
    
    完美解决
    回复 有任何疑惑可以回复我~ 2018-09-10 17:17:16
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信