我正在尝试获取特定文件ID的最大版本的FileRepository行。但是会引发以下异常:


  java.lang.ClassCastException:无法将java.lang.Integer强制转换为com.xxx.xxx.xxx.FileRepository


fileRepo = (FileRepository)session.createCriteria(FileRepository.class,"fileRepository")
                   .createAlias("fileRepository.file", "file")
                   .add(Restrictions.eq("file.fileId", file.getFileId()))
                   .setProjection(Projections.max("version")).uniqueResult();

最佳答案

.setProjection(Projections.max("version")).uniqueResult();


投影意味着接收特定的列值而不是行。

如果您看到此信息,则返回仅标准的版本号,即Int
因此,错误。

删除此投影或接收一个整数。

关于java - hibernate :ClassCastException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33011860/

10-11 19:22