SQL查询在SELECT*中不返回实体,但在指定ID时返回实体

SQL查询在SELECT*中不返回实体,但在指定ID时返回实体,sql,oracle,spring-boot,jdbctemplate,Sql,Oracle,Spring Boot,Jdbctemplate,我正在编写一个简单的Spring Boot RESTful API,其中包含两个请求: /getEmployee /getEmpoyee/{id} 我有两个查询从SQL数据库中提取数据,每个请求一个查询。查询如下所示: SELECT * FROM Employee WHERE STATUS = 'ACTIVE'; 当我调用请求时,我从getEmployee/12345获取期望值,但是当使用getEmployee提取所有员工时,该员工不在有效负载上 有没有办法解决这个问题 Java代码: Str

我正在编写一个简单的Spring Boot RESTful API,其中包含两个请求:

/getEmployee

/getEmpoyee/{id}

我有两个查询从SQL数据库中提取数据,每个请求一个查询。查询如下所示:

SELECT *
FROM Employee
WHERE STATUS = 'ACTIVE';
当我调用请求时,我从
getEmployee/12345
获取期望值,但是当使用
getEmployee
提取所有员工时,该员工不在有效负载上

有没有办法解决这个问题

Java代码:

String query1 = "SELECT * FROM Employee WHERE STATUS = 'ACTIVE'";
String query2 = "SELECT * FROM Employee WHERE STATUS = 'ACTIVE' AND EMPLOYEE_ID = ?";

List<Employee> employees= jdbcTemplate.query(query1, new BeanPropertyRowMapper(Employee.class));

Employee employee = new Employee();
employee=(Employee) jdbcTemplate.queryForObject(query2, new Object[] { id },
                    new BeanPropertyRowMapper(Employee.class));


String query1=“从状态为“活动”的员工中选择*;
String query2=“从状态为“活动”且员工ID为?“的员工中选择*;
List employees=jdbcTemplate.query(query1,新BeanPropertyRowMapper(Employee.class));
员工=新员工();
employee=(employee)jdbcTemplate.queryForObject(query2,新对象[]{id},
新BeanPropertyRowMapper(Employee.class));

我猜员工在那里,但您只查看了前几条记录,因此看不到员工。您可能只需要滚动浏览结果集。我在SQL Developer上运行了SQL查询,并搜索Employee,但在执行第一个查询时它不在那里。可能是以1000行或类似的方式返回行。DB没有那么大,它有100名员工。如果您看到一些结果,但有些结果丢失,那么我猜您获取的次数太多(跳过行)或者不够(在到达此ID之前停止)。没有你的代码,我们真的说不出来。不过,这似乎与甲骨文无关。
String query1 = "SELECT * FROM Employee WHERE STATUS = 'ACTIVE'";
String query2 = "SELECT * FROM Employee WHERE STATUS = 'ACTIVE' AND EMPLOYEE_ID = ?";

List<Employee> employees= jdbcTemplate.query(query1, new BeanPropertyRowMapper(Employee.class));

Employee employee = new Employee();
employee=(Employee) jdbcTemplate.queryForObject(query2, new Object[] { id },
                    new BeanPropertyRowMapper(Employee.class));