我有一个这样的实体类:
@Getter
@Setter
@Entity
@AllArgsConstructor
public class Employee{
@Id
private Long id;
private String name;
}
和存储库:
public interface EmployeeRepository extends CrudRepository<Employee, Long>{}
现在,在我的服务班级中,我有:
EmployeeRepository employeeRepository;
public void addEmployee(EmployeeForm employeeForm){
//EmployeeForm is simple inteface
Employee employee = new Employee(employeeForm.getId(), employeeForm.getName());
employeeRepository.save(employee);
}
这将为员工分配一些ID,而忽略了我从EmployeeForm
获得的ID。
因为我需要从其他位置导入员工列表,并且已经为每个员工分配了ID,我该如何EmployeeRepository
才能使用我给它的ID注册每个员工?
答案 0 :(得分:0)
我认为您不见了:雇员实体上的@Entity,另一个应该由它自己完成。 您可以检查long和Long之间的差异,但这不会引起任何问题。
希望这会有所帮助。
答案 1 :(得分:0)
我缺少了@NoArgsConstructor
,在邮递员中,我应该完全匹配EmployeeForm
中的“ id”。 employeeRepository.save(employee)
可以与用户集ID配合使用,但不会覆盖它。