2017-10-11 64 views
0

在仓库:JPA库查找嵌入的ID不能正常工作

@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,结果是空的,为什么会这样呢????

回答