Joc*_*cht 9 java mysql sql-server jpa
我有以下方法:
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);
Run Code Online (Sandbox Code Playgroud)
当我想获得计数列表(将是2行)时,我执行此操作:
List<BigInteger> counts = (List<BigInteger>) q.getResultList();
Run Code Online (Sandbox Code Playgroud)
这在MySQL中运行良好.但是一旦我连接到MS SQL服务器,我就会得到一个Integer对象列表:
List<Integer>
Run Code Online (Sandbox Code Playgroud)
知道为什么会有区别吗?
Jam*_*mes 22
JPA定义了JPQL查询的返回类型,但对于本机SQL查询,您可以获得数据库返回的任何内容.这与本机SQL查询有点关系.
将您的代码更改为Number,
List<Number> counts = (List<Number>) q.getResultList();
long count = counts.get(0).longValue();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11691 次 |
| 最近记录: |