我正在 Netbeans 中開發一個 Maven Web 應用程序項目,我有以下類:@Entity@Table(name = "departments")public class Department{ @Id private Integer departmentId; @Column(name = "department_name") private String departmentName;}和:@Entity@Table(name = "employees")public class Employee { @Id private Integer employeetId; @Column(name = "employee_name") private String employeeName; @JoinColumn(name = "department_id", referencedColumnName = "department_id") @ManyToOne(optional = false) private Departments department;}我的休息 api 返回這個:{ employeeId:1, employeeName:"Jhon", department: { departmentId:1, departmentName:"IT"}}我想要的輸出是: { employeeId:1, employeeName:"Jhon", department: "IT" }我嘗試返回一個 DTO,但得到一個空的 json:@GET@Produces(MediaType.APPLICATION_JSON)public List<EmployeeDto> findAllEmployees() { CriteriaQuery cq = entityManager.getCriteriaBuilder().createQuery(Employee.class); cq.select(cq.from(Employee.class)); List<Employee> employees = entityManager.createQuery(cq).getResultList(); List<EmployeeDto> employeesDto = new ArrayList<>(); for (Employee employee : employees) { EmployeeDto employeeDto = new EmployeeDto(); employeeDto.employeeId = employee.getEmployeedId(); employeeDto.department = employee.getDepartment().getDepartmentName(); employeesDto.add(employeeDto); } return employeesDto;DTO:Class EmployeeDto{Integer employeeId; String employeeName; String department}
2 回答

萬千封印
TA貢獻1891條經驗 獲得超3個贊
這是因為我得到了一個空的 json:我的 Dto 類沒有公共 getter 和 setter。解決方案是公開 Dto 字段或添加公共 getter/setter。
Class EmployeeDto{
public Integer employeeId;
public String employeeName;
public String department;
}
添加回答
舉報
0/150
提交
取消