在存储库中:
@Transactional
public interface DeptMagrRepository extends CrudRepository<DepartmentManager, DeptMangrKey>{
//1
public List<DepartmentManager> findByDeptMangrKeyDepartmentDeptNo(String deptNo);
//2
public List<DepartmentManager> findByDeptMangrKeyEmployeeEmpNo(Integer empNo);
//3
public List<DepartmentManager> findByDeptMangrKey_Employee_EmpNoAndDeptMangrKey_Department_DeptNo(Integer empNo, String deptNo);
}
我能够使用第一个和第二个函数得到正确的答案。但第三个函数总是返回空结果。
例如使用第一个函数,输入是 d008,它是部门编号之一,结果是:
[
{
"deptMangrKey": {
"department": {
"deptNo": "d008",
"deptName": "Research"
},
"employee": {
"birth_date": "1959-11-09",
"first_name": "Arie",
"last_name": "Staelin",
"gender": "M",
"hire_date": "1985-01-01",
"emp_no": 111400
}
},
"fromDate": "1985-01-01",
"toDate": "1991-04-08"
},
{
"deptMangrKey": {
"department": {
"deptNo": "d008",
"deptName": "Research"
},
"employee": {
"birth_date": "1952-06-27",
"first_name": "Hilary",
"last_name": "Kambil",
"gender": "F",
"hire_date": "1988-01-31",
"emp_no": 111534
}
},
"fromDate": "1991-04-08",
"toDate": "9999-01-01"
}
]
当我调用第二个函数时,输入是 111400,即 emp_no,我得到了结果:
[
{
"deptMangrKey": {
"department": {
"deptNo": "d008",
"deptName": "Research"
},
"employee": {
"birth_date": "1959-11-09",
"first_name": "Arie",
"last_name": "Staelin",
"gender": "M",
"hire_date": "1985-01-01",
"emp_no": 111400
}
},
"fromDate": "1985-01-01",
"toDate": "1991-04-08"
}
]
但是当我调用第三个函数时,输入是111400和d008,结果为空,为什么会出现这种情况???
最佳答案
我解决了问题,并且我在 GitHub 上发布了一个问题。这是链接:https://github.com/YingcaiDong/Practical-Company-Employee-data-API/issues/6
关于java - JPA 存储库通过嵌入 ID 查找不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46696603/