8 Star 34 Fork 7

大叶 / ngbatis

 / 详情

类型转换失败

待办的
创建于  
2023-06-06 16:30

执行屏幕中的代码时报错,java.lang.ClassCastException: com.allinpay.graph.entity.Person cannot be cast to com.allinpay.graph.entity.Person

评论 (10)

hello world 创建了任务
hello world 修改了描述
展开全部操作日志

去掉了包名指的是 Person 直接放在了src/main/java目录下吗?
可以的话提供一下更详细的信息。

另:Dao 的入参建议用 Long 这样的包装类,可能省去一些默认值的麻烦

hello world 修改了描述

我把ngbatis-master中的NebulaDaoBasic中的selectById方法改成和引入依赖的1.1.3版本中的代码一样后,会报如下图错
输入图片说明

是有改基本方法的需求吗?
这边需要做一个 return (T) 的类型转换

没有改基类方法,用的是NebulaDaoBasic提供的,我下载的master分支代码前面是有(T)转换的,但引入的依赖代码没有(T),我把下载的master分支代码改成和依赖中的一样,如上图没有(T),然后会直接报错

自己的xml里没有写selectById,就一个空的mapper标签,能正确查出来,但用Person对象接收时报错,用Object接收不会报错

输入图片说明
两个类加载器不一样

应该是用了 dev-tools 的缘故。
有个 Env.classLoader 的静态方法可以用来指定 classLoader
但还没做过跟 dev-tools 的集成测试。不确定能不能跑通

感谢大佬解答 :+1: ,是用到dev-tools的问题,不过这一块是不是可以优化一下

客气客气 ~ 过段时间跟 dev-tools 做个集成测试下。毕竟这个工具还是挺常用的。

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
1043207 corvusye 1715626925
Java
1
https://gitee.com/CorvusYe/ngbatis.git
git@gitee.com:CorvusYe/ngbatis.git
CorvusYe
ngbatis
ngbatis

搜索帮助