Java 如何将HashMap添加到Employee类的列表中

Java 如何将HashMap添加到Employee类的列表中,java,java-8,Java,Java 8,我创建了一个Java类,并使用JPA检索Employee类的详细信息,该类将返回一个类似 [ { "empId": "1", "empName": "emp1", "empTag": "empTag1", "empState": "ACTIVE" }, { "empId&quo

我创建了一个Java类,并使用JPA检索Employee类的详细信息,该类将返回一个类似

[
  {
    "empId": "1",
    "empName": "emp1",
    "empTag": "empTag1",
    "empState": "ACTIVE"
  },
  {
    "empId": "2",
    "empName": "emp2",
    "empTag": "empTag2",
    "empState": "ACTIVE"
  }
]
在收到散列列表后,我想添加几个伪条目,如

[
  {
    "empId": "00",
    "empName": "DummyEmp",
    "empTag": "DummyEmpTag",
    "empState": "ACTIVE"
  },
  {
    "empId": "1",
    "empName": "emp1",
    "empTag": "empTag1",
    "empState": "ACTIVE"
  },
  {
    "empId": "2",
    "empName": "emp2",
    "empTag": "empTag2",
    "empState": "ACTIVE"
  }
]
所以我试图将映射添加到员工列表中,但在运行时我得到了

java.lang.ClassCastException: java.util.HashMap$KeySet cannot be cast to com.domain.EmployeeBean 
我的员工类别:

@Table(name = "employee")
@Entity
public class EmployeeBean implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id @Column(name = "emp_id") 
    private String empId;
    
    @Column(name = "emp_name") 
    private String empName;
    
    @Column(name = "emp_tag") 
    private String empTag;
    
    @Column(name = "emp_state") 
    private String empState;

    .... (getters and setters) 
}
存储库:-

public interface EmployeeBeanRepository extends JpaRepository<EmployeeBean, String>{

    List < EmployeeBean > findByEmpState(String empState);
public接口EmployeeBeanRepository扩展了JpaRepository{
ListfindByEmpState(字符串状态);
资源:-

@RestController
@RequestMapping("/empDetails")
public class EmployeeBeanResource {
    
private final EmployeeBeanRepository empBeanRepository;
    
    public EmployeeBeanResource(EmployeeBeanRepository empBeanRepository) {
        this.empBeanRepository = empBeanRepository;
    }
        
    @GetMapping("/empState/{empState}")
    @Timed
    public List<EmployeeBean> getEmployeesByStatus(@PathVariable String empState) {
        List<EmployeeBean> activeEmployeeList = empBeanRepository.findByEmpState(empState);
        
        Map<String, String> empDummy = new HashMap<>();
        
        empDummy.put("empId", "00");
        empDummy.put("empName", "DummyEmp");
        empDummy.put("empTag", "DummyEmpTag");
        empDummy.put("empState", "ACTIVE");
        
        activeEmployeeList.add((EmployeeBean) empDummy.keySet());
        activeEmployeeList.add((EmployeeBean) empDummy.values());
       
        return activeEmployeeList;
    }
}
@RestController
@请求映射(“/empDetails”)
公共类EmployeeBeanResource{
私人最终雇员为雇员;
公共员工资源(员工资源){
this.empBeanRepository=empBeanRepository;
}
@GetMapping(“/empState/{empState}”)
@定时
公共列表getEmployeesByStatus(@PathVariable String-empState){
List-activeEmployeeList=empBeanRepository.findByEmpState(empState);
Map empmdummy=newhashmap();
empId.put(“empId”,“00”);
empDummy.put(“empName”、“DummyEmp”);
EMPSDUMMY.put(“空包”、“空包”);
empsdummy.put(“empState”、“ACTIVE”);
add((EmployeeBean)empDummy.keySet());
add((EmployeeBean)empDummy.values());
返回activeEmployeeList;
}
}
我已经尝试了很多,但仍然无法找到将映射添加到员工列表中的方法。

而不是:

Map<String, String> empDummy = new HashMap<>();
        
empDummy.put("empId", "00");
empDummy.put("empName", "DummyEmp");
empDummy.put("empTag", "DummyEmpTag");
empDummy.put("empState", "ACTIVE");
        
activeEmployeeList.add((EmployeeBean) empDummy.keySet());
或者,如果您拥有所有参数构造函数:

EmployeeBean empDummy = new EmployeeBean("00", "DummyEmp","DummyEmpTag","ACTIVE");

activeEmployeeList.add(empDummy);

您应该创建
EmployeeBean
,然后添加到
activeEmployeeList
EmployeeBean empDummy = new EmployeeBean("00", "DummyEmp","DummyEmpTag","ACTIVE");

activeEmployeeList.add(empDummy);