Java 如何使用JPA获取计数
我正在用JPA编写非常简单的本机查询,如果我直接运行它,它将在oracle中执行,但在通过JPA运行时失败Java 如何使用JPA获取计数,java,jpa,Java,Jpa,我正在用JPA编写非常简单的本机查询,如果我直接运行它,它将在oracle中执行,但在通过JPA运行时失败 String sql = "select count(*) from demo.sb_test_config cf, isisdba.sb_transpoter st where cf.policy_id = st.policy_id " + "and cf.payment_type = 'PAID' and st.sb_t_id = :tId" ; Query query = em.c
String sql = "select count(*) from demo.sb_test_config cf, isisdba.sb_transpoter st where cf.policy_id = st.policy_id " +
"and cf.payment_type = 'PAID' and st.sb_t_id = :tId" ;
Query query = em.createNativeQuery(sql);
query.setParameter("tId", 8);
Long response = (Long)query.getSingleResult();
你能帮我找到根本原因吗。我在执行JPA时遗漏了什么。
提前感谢如何在JPA中失败 我可以看到您正试图使用旧的SQL
join
语法从两个不同的模式获取数据-JPA是否设置为允许您这样做
您甚至没有说明您的尝试是如何失败的…请提供您收到的任何错误日志或消息。至少发布堆栈跟踪或异常消息。这是一个本机查询,我想我也可以使用老式的联接语法,不确定您是否可以使用旧样式,但您不应该使用。主要的一点是数据来自两个不同的模式-默认情况下,JPA连接到一个默认模式,并且不允许您查询其他模式,除非您设置别名。对不起,请忽略模式名称,我错误地仅在一个位置更改了它。否则,它在主查询中是相同的。错误消息是“不一致的数据类型:预期的数字为二进制”,将实际的SQL语句和实际的错误消息复制并粘贴到上述问题的主体中。