? 正在使用 Spring Boot 開發 REST API 應用程式。我在資料庫中有 2 個表,第一個稱為TblEmployees,第二個稱為TblDepartments。從這 2 個表中,我創建了一個類Employees_DTO,該類應該以 JSON 格式回傳資料。從TblEmployees表中它將回傳資料,從TblDepartments表中回傳空值。dbID是我按照我的想法做的外鍵,但對我來說它不起作用:
public class TblDepartments {
private Integer dbID;
private String dep_name;
public class TblEmployees {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int emp_id;
private String empName;
private Boolean empActive;
private Integer dbID;
public class Employees_DTO {
private int emp_id;
private String empName;
private Boolean empActive;
private String dep_name;
}
package com.example.test_task.exceptions;
import com.example.test_task.*;
import org.modelmapper.ModelMapper;
import org.modelmapper.convention.MatchingStrategies;
import org.modelmapper.spi.MatchingStrategy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class EmployessServise {
@Autowired
private EmplployeesRepository repo;
@Autowired
private ModelMapper modelMapper;
public EmployessServise() {
}
public List<Employees_DTO> getAll_Emp(){
return repo.findAll()
.stream()
.map(this::convertEntityToDto)
.collect(Collectors.toList());
}
private Employees_DTO convertEntityToDto(TblEmployees tblEmployees){
modelMapper.getConfiguration()
.setMatchingStrategy(MatchingStrategies.LOOSE);
Employees_DTO employees_dto=new Employees_DTO();
employees_dto=modelMapper.map(tblEmployees,Employees_DTO.class);
return employees_dto;
}
private TblEmployees convertEntityToDto(Employees_DTO employees_dto){
modelMapper.getConfiguration()
.setMatchingStrategy(MatchingStrategies.LOOSE);
TblEmployees tblEmployees=new TblEmployees();
tblEmployees=modelMapper.map(employees_dto,TblEmployees.class);
return tblEmployees;
}
}
uj5u.com熱心網友回復:
@ManyToOne 可用:
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
@Entity
public class TblEmployees {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int emp_id;
private String empName;
private Boolean empActive;
@ManyToOne
@JoinColumn(name = "dbid")
private TblDepartments department;
// Getters and Setters
}
完整的示例代碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/343648.html
