java.lang.UnsupportedOperationException: Recommended SqlTypeDescriptor not known for this Java type

问题描述

最近在学习使用Spring Data JPA,但是当使用简单的查询时却出现了问题。

代码如下:

    @Test
    public void testFindById(){
        List<Integer> list = new ArrayList<>();
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        List<Article> articles = articleDao.findAllById(list);
        for (Article article : articles) {
            System.out.println(article);
        }
    }

出现错误:java.lang.UnsupportedOperationException: Recommended SqlTypeDescriptor not known for this Java type : java.lang.Iterable

在这里插入图片描述

问题分析

在确定自己的代码没有错误后,认为可能是依赖的版本问题。

解决方法

我原来引入的是最新版本的hibernate-entitymanager,需要更换版本。

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>6.0.0.Alpha7</version>
    <type>pom</type>
</dependency>

https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager
在这里插入图片描述
我更换为5.6版本后问题得到解决。

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>5.6.0.Final</version>
    <type>pom</type>
</dependency>

可以成功使用findAllById()方法。
成功查询

总结

盲目追新有风险,使用需谨慎!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值