【发布时间】:2012-06-05 12:24:15
【问题描述】:
我有以下方法:
Query q = getEntityManager().createNativeQuery("SELECT COUNT(1) FROM table1 WHERE column = :column_id " + "UNION " + "SELECT COUNT(1) FROM table2 WHERE column = :column_id");
q.setParameter("column_id", column_id);
当我想获取计数列表(将是 2 行)时,我执行此操作:
List<BigInteger> counts = (List<BigInteger>) q.getResultList();
这在 MySQL 中运行良好。但是一旦我连接到 MS SQL 服务器,我就会得到一个整数对象列表:
List<Integer>
知道为什么会有差异吗?
【问题讨论】:
-
你的标题倒退了。
-
您使用哪种 JPA 实现?
-
您是否尝试过明确设置预期的返回类型,例如
getEntityManager().createNativeQuery("SELECT COUNT(1) FROM table1 WHERE column = :column_id " + "UNION " + "SELECT COUNT(1) FROM table2 WHERE column = :column_id",Integer.class); -
哈桑:谢谢,我已经更新了标题
-
AhamedMustafaM:谢谢,我已经测试过了,但我得到了这个异常:org.hibernate.MappingException: Unknown entity: java.lang.Integer
标签: java mysql sql-server jpa