Java Jpa(hibernate)返回类型

Java Jpa(hibernate)返回类型,java,hibernate,jpa,Java,Hibernate,Jpa,我使用jpa(结合Hibernate的实现) 确定查询返回类型的最佳方法是什么? 我希望数字在默认情况下返回为java.lang.Long(或oracle.jbo.number)——而不是java.math.BigDecimal 非常感谢。如果您想要一个long,为什么不将结果转换为一个数字并使用.longValue()???? 我在这里假设您正在返回一个对象(或一个对象数组)。如果您不确定元组或投影将返回什么类型,请利用类层次结构,因为Long、Integer、Short、Double、Flo

我使用jpa(结合Hibernate的实现)

确定查询返回类型的最佳方法是什么? 我希望数字在默认情况下返回为java.lang.Long(或oracle.jbo.number)——而不是java.math.BigDecimal


非常感谢。

如果您想要一个long,为什么不将结果转换为一个数字并使用.longValue()????
我在这里假设您正在返回一个对象(或一个对象数组)。如果您不确定元组或投影将返回什么类型,请利用类层次结构,因为Long、Integer、Short、Double、Float、biginger和BigDecimal都扩展了Number类。

根据您的喜好使用不同的类型转换结果,请参见此

       long result= (Long)query.getSingleResult();
       or
       BigDecimal result = (BigDecimal)query.getSingleResult();
       or
       Object result = (Object)query.getSingleResult();

我不确定我是否完全理解你的问题。查询的返回类型肯定由查询执行的基础HQL决定。+1,结果类型将取决于您指定的查询。你选择什么?如果它是一个函数,那么可以根据哪个函数来知道。如果是属性,则结果类型与属性类型相同。但是你真的需要向我们展示这个查询。如果希望以编程方式查看结果类型,org.hibernate.Query.getReturnTypes()将向您显示(结果是hibernate类型实例)