[英]How to save object to another table Springboot
我想选择随机员工作为当月员工。 它工作正常。 但我想将该选定的员工保存到另一个名为 EmployeeOfMonth 的表中。 我该怎么做,我需要使用查询吗? 我需要另一个存储库吗? 在这里应该采取什么方法?
员工存储库:
EmployeeDTO selectEmployee(Employee employee);
员工服务:
EmployeeDTO selectEmployee(Employee employee);
员工服务小鬼:
@Override
public EmployeeDTO selectEmployee(Employee employee) {
List<Employee> all = employeeRepository.findAll();
Random randomizer = new Random();
Employee random = all.get(randomizer.nextInt(all.size()));
return EmployeeMapper.toDto(random);
}
控制器 :
@GetMapping(path="/month")
public EmployeeDTO selectEmployee(Employee employee){
return employeeService.selectEmployee(employee);
}
创建另一个名为 EmployeeOfMonths 的实体或表添加诸如员工 ID 和月份之类的属性。 选择您的员工后,填充此实体,然后保存。 因此,我们没有复制员工数据,而是将其引用到员工表。 要获取有关当月员工的更多详细信息,您可以使用 EmployeeofMonths 表中的员工 ID 查询员工表。
@Entity
public class EmployeeOfMonths{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private employeeId;
@Column(name = "created_at", nullable = false, updatable = false)
@Temporal(TemporalType.TIMESTAMP)
@CreatedDate
private Date created_at;
}
我认为一名员工可以成为每月多次的员工。 在这种情况下,它将是一对多的。
@OneToMany(mappedBy = "employee", cascade=CascadeType.ALL)
private List<EmployeeOfMonths> employeeOfMonths;
并为员工月。
@ManyToOne
@JoinColumn(name="id", referncedColumnName="employeeId")
private Employee employee;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.