java.lang.ClassCastException: * cannot be cast to *;
这是数据类型强制转化失败的问题。
在继承的Jpa的接口中,使用如下的查询方式:

在Jpa的自带的方法中,删除操作的方法只有这几种:

但是如果我要根据FileName来进行删除操作,一般是如上面的操作,添加方法deleteByFileName(String fileName);
使用该方法,你会发现会报ClassCastException的错误。
其实Jpa执行deleteByFileName()的原理是:先执行findByFileName(String FileName),找到对应的Id,在利用delete(Long id)来进行删除操作,所以此时就会出现String can not cast to long 的类型强制转化失败的错误。
其他的自定义操作原理也是一样的。
本文探讨了在使用JPA进行数据操作时遇到的ClassCastException异常,详细解析了其产生的原因,即在自定义删除方法时不当的数据类型转换导致的问题,并提供了相应的解决方案。
662

被折叠的 条评论
为什么被折叠?



