2012-07-04 175 views
0

我使用jpa(使用Hibernate的实现)。Jpa(休眠)返回类型

什么是决定一个查询的返回类型的最佳方式? 我希望数字默认返回为java.lang.Long(或oracle.jbo.number) - 而不是java.math.BigDecimal。

非常感谢。

+0

不知道我完全理解你的问题。查询的返回类型肯定将由查询执行的底层HQL决定。 – JamesB

+0

+1,结果类型将取决于您指定的查询。你在选择什么?如果它的功能,那些可以根据哪个功能知道。如果属性,结果类型与属性类型相同。但你真的需要向我们展示查询。如果您想以编程方式查看结果类型,org.hibernate.Query.getReturnTypes()会向您显示(结果是Hibernate类型实例) –

回答

0

如果你想要一个长期的,为什么不直接把结果电话号码,并使用.longValue()???? 我在这里假设你找回一个对象(或一个对象数组)。如果您不确定元组或投影会返回哪种类型,请利用类层次结构,因为Long,Integer,Short,Double,Float,BigInteger和BigDecimal都会扩展Number类。

0

你要把你的结果与不同类型的,你喜欢的,看到这个

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