系類:
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Department {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long departmentid;
private String departmentName;
private String departmentAddress;
private String departmentcode;
}
部門知識庫類:
@Repository
public interface DepartmentRepository extends JpaRepository<Department, Long> {
Department findByDepartmentId(long departmentid);
}
部門服務:@Service @Slf4j 公共類 DepartmentService {
@Autowired
private DepartmentRepository departmentrepository;
public Department saveDepartment(Department department) {
log.info("Inside savedepartment method of deparment service");
return departmentrepository.save(department);
}
public Department finddepaartmentbyid(long departmentid) {
log.info("inside finddepartmentbyid mehtod of departmentservice");
return departmentrepository.findByDepartmentId(departmentid);
}
}
部門負責人:
@RestController
@RequestMapping("/departments")
@Slf4j
public class DepartmentController {
@Autowired
private DepartmentService departmentservice;
@PostMapping("/")
public Department saveDepartment(@RequestBody Department department)
{
log.info("Inside savedepatment method of department controller");
return departmentservice.saveDepartment(department);
}
@GetMapping("{id}")
public Department finddepartmentbyid(@PathVariable long departmentid)
{
log.info("inside finddepartmentbyid mehtod of department controller");
return departmentservice.finddepaartmentbyid(departmentid);
}
}
我收到運行時錯誤,因為無法為方法 public abstract com.example.demo.entity.Department com.example.demo.repository.DepartmentRepository.findByDepartmentId(long) 創建查詢!找不到型別部門的財產部門 ID!您指的是 'departmentid' 嗎?
uj5u.com熱心網友回復:
更改您的物體類:
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Department {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long departmentId; // not departmentid !
private String departmentName;
private String departmentAddress;
private String departmentcode;
}
錯誤告訴您沒有DepartmentId。
uj5u.com熱心網友回復:
您需要謹慎地命名存盤庫方法。在您的存盤庫代碼中,您說Department findByDepartmentId(long departmentid);. 所以 Spring 試圖對變數進行搜索departmentId(注意這里的駝峰大小寫很重要)。不幸的是,庫物體類DepartmentRepository是Department沒有名字的任何領域departmentId,相當有departmentid。
這里有2個解決方案:
- 將存盤庫方法重命名為
Department findByDepartmentid(long departmentid);:這不是推薦的。 - 更改
departmentid的Department物體類departmentId: 推薦和最佳實踐
您可以在此處找到有關命名存盤庫方法的更多詳細資訊
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/369092.html
上一篇:如何與一組列舉值進行比較
