java - JPA 存储库通过嵌入 ID 查找不起作用

标签 java mysql spring spring-data-jpa

在存储库中:

@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/

相关文章:

java - 打开 zip 文件时出错或缺少 : C:/Program 的 JAR list

java - 如何使用java获取数据库状态?

java - 在 Spring RedisTemplate 中使用 TTL 的 Redis MSET

java - Spring 表格未在提交表格时重新填写

java - JOOQ创建表并插入值DSLContext

java - 远程运行 Hbase ImportTSV 作业

mySQL更新另一个表中相应列的所有列

mysql - 数据库连接卡在 AWS Lambda 上

java - 创建 bean 时出错 - 在服务中注入(inject)配置类不起作用

java - 获取一个对象并将其导出到其类之外