亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何僅從關系中檢索屬性而不是實體?

如何僅從關系中檢索屬性而不是實體?

米琪卡哇伊 2021-10-20 14:41:28
我正在 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;

}


查看完整回答
反對 回復 2021-10-20
  • 2 回答
  • 0 關注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號