java和spring的新手。尝试创建一个应用程序,但未成功。我的应用程序中包含以下实体和控制器。但是在运行时我得到一个错误。我发布了一些片段,以便于阅读。
staff.java
@Data
@Entity
public class Staff {
private int staff_id;
private String staff_name;
private String staff_email;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "staff")
private List<VisitRequest> visitRequest;
public String getStaff_name(){
return staff_name;
}
public void setStaff_name(String staff_name){
this.staff_name = staff_name;
}
public String getStaff_email(){
return staff_email;
}
public void setStaff_email(String staff_email){
this.staff_email = staff_email;
}
public int getStaff_id(){
return staff_id;
}
public void setStaff_id(int staff_id){
this.staff_id = staff_id;
}
}
StaffController.java
@Controller
@RestController
@RequestMapping("/staff/")
public class StaffController{
@Autowired
protected StaffRepository staffRepository;
@GetMapping("/Staff")
public List<Staff> getAllStaff() {
return staffRepository.findAll();
}
@GetMapping("/staff/{Staff_id}")
public ResponseEntity<Staff> getStaffById(@PathVariable(value = "Staff_id") Long Staff_id)
throws ResourceNotFoundException{
Staff staff = staffRepository.findById(Staff_id)
.orElseThrow(() -> new ResourceNotFoundException("Employee not Found"));
return ResponseEntity.ok().body(staff);
运行时抛出的错误是
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfigura
tion.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: No identifier specified for entity: com.Vportal.data.model.Staff
请提供建议。
答案 0 :(得分:1)
您的Staff
实体缺少带有@Id
批注的成员。可以将其添加到staff_id
中,如下所示:
@Data
@Entity
public class Staff {
@Id
private int staff_id;
....
}