Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.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中解析(空)sql结果集值_Java_Hibernate_Jpa - Fatal编程技术网

在java中解析(空)sql结果集值

在java中解析(空)sql结果集值,java,hibernate,jpa,Java,Hibernate,Jpa,我在下面写本机查询: ( select null as id, name as name from tableA ) UNION ALL ( select id as id, name as name from tableB ) 它以以下形式返回输出: +--------+--------+ | id | name | +--------+-------

我在下面写本机查询:

(
    select 
        null as id,
        name as name
    from
        tableA
)
UNION ALL
(
    select
        id as id,
        name as name
    from
        tableB
)
它以以下形式返回输出:

+--------+--------+
|   id   |  name  |
+--------+--------+
| (null) | Andy   |
| (null) | Jim    |
| 1      | Pam    |
| 2      | Dwight |
+--------+--------+
我将在自定义DTO中传递此本机查询的结果:

public class MyDto {
    Long getId();
    String getName();
}
从我的服务类调用本机查询,如下所示:

List<MyDto> reuslts = repo.getMyResults();
List reusults=repo.getMyResults();
但当我尝试循环结果时,它抛出空指针异常

results.foreach(rs -> {
    rs.getId(); // <-----Null pointer exception;
    rs.getName(); // <-----Null pointer exception;
});
results.foreach(rs->{

rs.getId();//所以您得到了2个NPE??或者您注释掉了1行,以知道这两个NPE都在使用NPE?您声明了“reusults”并循环使用了“results”。这可能是一个问题,还是粘贴在这里的代码本身有误?@VishalSharma,这确实是一个误操作。在我的原生查询中,我以tableA_id的形式获取列,这与DTO接口中的预期不同。因此,您得到了2个NPE??或者您注释掉了1行,以知道这两个列都在使用NPE?您已经声明了“Reuselts”和“结果”循环。这可能是一个问题,还是只是粘贴在这里的代码本身的输入错误?@VishalSharma,这确实是一个输入错误。在我的原生查询中,我以tableA_id获取列,这与DTO接口中的预期不同。