Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用JPA获取计数_Java_Jpa - Fatal编程技术网

Java 如何使用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

我正在用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.createNativeQuery(sql);
query.setParameter("tId", 8);
Long response =  (Long)query.getSingleResult(); 
你能帮我找到根本原因吗。我在执行JPA时遗漏了什么。
提前感谢

如何在JPA中失败

我可以看到您正试图使用旧的SQL
join
语法从两个不同的模式获取数据-JPA是否设置为允许您这样做


您甚至没有说明您的尝试是如何失败的…

请提供您收到的任何错误日志或消息。至少发布堆栈跟踪或异常消息。这是一个本机查询,我想我也可以使用老式的联接语法,不确定您是否可以使用旧样式,但您不应该使用。主要的一点是数据来自两个不同的模式-默认情况下,JPA连接到一个默认模式,并且不允许您查询其他模式,除非您设置别名。对不起,请忽略模式名称,我错误地仅在一个位置更改了它。否则,它在主查询中是相同的。错误消息是“不一致的数据类型:预期的数字为二进制”,将实际的SQL语句和实际的错误消息复制并粘贴到上述问题的主体中。