我有以下问题:我正在使用Spring + Hibernate,并且当前正在尝试选择一个ID +其ID的数量,并返回包含每个ID及其对应数量的列表。现在的问题是,当我遇到以下异常时,转换器显然出现了问题:
ConverterNotFoundException:未找到能够进行转换的转换器 从类型[java.lang.Long]到根的类型[... entity.E_Amount]] 原因
E_Amount创建具有ID和数量的对象。和我的查询:
@Query("select t.e.id, count(t.id) from...")
返回整数和整数的完美结果,例如{9,101}
我只是不太完全确定如何开始解决此转换问题。任何想法将不胜感激!
答案 0 :(得分:1)
尝试结果类策略:
1):使用构造函数接受您的查询结果创建新类ResultClass:
public class ResultClass{
public ResultClass(Integer id, Long count){..}
}
2)稍微修改查询:
@Query("select new com.mypackage.ResultClass(t.e.id, count(t.id)) from...")
public List<ResultClass> query(..);
只需确保构造函数参数与select语句中的列顺序相同。