Spring Data JPA findAll()嵌套的json仅返回ID为ID的数据

时间:2019-04-30 14:50:34

标签: spring spring-boot spring-data-jpa

我使用带有MySql的Spring Data JPA在我的数据中创建REST API: 项目有一组职位-职位有一组候选人-候选人有一个雇员。

当我使用findAll()项目时,如果某个雇员已经在候选人中,则该雇员的下一个json数据仅具有Employee的ID,而不是所有数据。我不知道为什么会这样。

这是我的json所有项目:

{
  "code": 200,
  "projects": [
    {
      "id": 1,
      "name": "BV1",
      "company": "FPT software",
      "teamsize": 2,
      "timestart": "2019-04-04",
      "timeend": "2020-04-13",
      "description": "dự án bệnh viện 1",
      "techskills": "Java, Jpa",
      "status": "On-going",
      "createBy": 1,
      "createDate": "2019-4-04",
      "modifyBy": 1,
      "modifyDate": "2019-4-04",
      "lastLoad": "2019-4-04",
      "jobs": [
        {
          "id": 2,
          "description": "tester dự án bệnh viện 1",
          "role": "Open",
          "timestart": "2019-4-04",
          "timeend": "2020-04-04",
          "status": "Mockito",
          "createBy": 1,
          "createDate": "2019-4-04",
          "modifyBy": 1,
          "modifyDate": "2019-4-04",
          "lastLoad": "2019-4-04",
          "candidates": [],
          "matchedCertificates": [
            {
              "id": 3,
              "name": "TOEIC",
              "score": 900,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04"
            }
          ],
          "matchedLanguages": [
            {
              "id": 2,
              "name": "English",
              "level": 2,
              "lastused": 2019,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04"
            }
          ],
          "matchedTechSkills": []
        },
        {
          "id": 4,
          "description": "dev dự án bệnh viện 1",
          "role": "DEV1",
          "timestart": "2019-04-04",
          "timeend": "2020-04-04",
          "status": "Open",
          "createBy": 1,
          "createDate": "2019-4-04",
          "modifyBy": 1,
          "modifyDate": "2019-4-04",
          "lastLoad": "2019-4-04",
          "candidates": [],
          "matchedCertificates": [],
          "matchedLanguages": [],
          "matchedTechSkills": []
        },
        {
          "id": 3,
          "description": "pm dự án bệnh viện 1",
          "role": "PM",
          "timestart": "2019-04-04",
          "timeend": "2019-04-13",
          "status": "Open",
          "createBy": 1,
          "createDate": "2019-4-04",
          "modifyBy": 1,
          "modifyDate": "2019-4-04",
          "lastLoad": "2019-4-04",
          "candidates": [
            {
              "description": "pm dự án bệnh viện 1",
              "status": "Pending",
              "proexpid": 0,
              "roleid": 0,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04",
              "employee": {
                "id": 7,
                "name": "Ung Văn Khiêm",
                "gender": "Nam",
                "birthday": "1997-08-02",
                "position": "DEV",
                "department": "FA",
                "summary": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut velit esse cillum dolore eu fugiat nulla pariatur. Excepteut anim id est laborum.",
                "email": "congtien.iuh@gmail.com",
                "cvstatus": "Pending",
                "avatar": "",
                "effort": 0,
                "lastLoad": "2019-03-19",
                "score": 0,
                "scoreTechSkill": 0,
                "scoreLanguage": 0,
                "scorecertificate": 0,
                "createBy": 2,
                "createDate": "2019-03-19",
                "modifyBy": 2,
                "modifyDate": "2019-03-19",
                "certificates": null,
                "languages": null,
                "educations": null,
                "projectExperiences": null
              },
              "job": 3
            },
            {
              "description": "pm dự án bệnh viện 1",
              "status": "Pending",
              "proexpid": 0,
              "roleid": 0,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04",
              "employee": {
                "id": 3,
                "name": "Nguyễn Thị Hồng",
                "gender": "Nam",
                "birthday": "1997-08-02",
                "position": "HR",
                "department": "FA",
                "summary": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ullamco laboris nisi ut aliquip ex ea commodo consequat. ugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                "email": "dnhat011@gmail.com",
                "cvstatus": "Approved",
                "avatar": "",
                "effort": 10,
                "lastLoad": "2019-03-19",
                "score": 0,
                "scoreTechSkill": 0,
                "scoreLanguage": 0,
                "scorecertificate": 0,
                "createBy": 1,
                "createDate": "2019-03-19",
                "modifyBy": 1,
                "modifyDate": "2019-03-19",
                "certificates": null,
                "languages": null,
                "educations": null,
                "projectExperiences": null
              },
              "job": 3
            }
          ],
          "matchedCertificates": [],
          "matchedLanguages": [],
          "matchedTechSkills": [
            {
              "id": 2,
              "name": "Unit test",
              "level": 4,
              "experience": "",
              "lastused": 2019,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04"
            }
          ]
        },
        {
          "id": 1,
          "description": "dev dự án bệnh viện 1",
          "role": "DEV1",
          "timestart": "2019-04-04",
          "timeend": "2019-04-17",
          "status": "Open",
          "createBy": 1,
          "createDate": "2019-4-04",
          "modifyBy": 1,
          "modifyDate": "2019-4-04",
          "lastLoad": "2019-4-04",
          "candidates": [
            {
              "description": "dev dự án bệnh viện 1",
              "status": "Pending",
              "proexpid": 0,
              "roleid": 0,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04",
              "employee": {
                "id": 6,
                "name": "Ung Văn Khiêm",
                "gender": "Nam",
                "birthday": "1997-08-02",
                "position": "DEV",
                "department": "FSU1",
                "summary": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut velit esse cillum dolore eu fugiat nulla pariatur. Excepteut anim id est laborum.",
                "email": "thanhhai97sd@gmail.com",
                "cvstatus": "Pending",
                "avatar": "",
                "effort": 0,
                "lastLoad": "2019-03-19",
                "score": 0,
                "scoreTechSkill": 0,
                "scoreLanguage": 0,
                "scorecertificate": 0,
                "createBy": 2,
                "createDate": "2019-03-19",
                "modifyBy": 2,
                "modifyDate": "2019-03-19",
                "certificates": null,
                "languages": null,
                "educations": null,
                "projectExperiences": null
              },
              "job": 1
            },
            {
              "description": "dev dự án bệnh viện 1",
              "status": "Pending",
              "proexpid": 0,
              "roleid": 0,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04",
              "employee": {
                "id": 4,
                "name": "Nguyễn Việt Hoàng",
                "gender": "Nam",
                "birthday": "1997-08-02",
                "position": "Admin",
                "department": "FA",
                "summary": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut laborep ex ea commodo consequat. Duis aute irure dolor in ariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                "email": "phanchuan.23@gmail.com",
                "cvstatus": "Rejected",
                "avatar": "",
                "effort": 100,
                "lastLoad": "2019-03-19",
                "score": 0,
                "scoreTechSkill": 0,
                "scoreLanguage": 0,
                "scorecertificate": 0,
                "createBy": 1,
                "createDate": "2019-03-19",
                "modifyBy": 1,
                "modifyDate": "2019-03-19",
                "certificates": null,
                "languages": null,
                "educations": null,
                "projectExperiences": null
              },
              "job": 1
            },
            {
              "description": "dev dự án bệnh viện 1",
              "status": "Pending",
              "proexpid": 0,
              "roleid": 0,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04",
              "employee": {
                "id": 5,
                "name": "Phan Minh Phụng",
                "gender": "Nam",
                "birthday": "1997-08-02",
                "position": "DEV",
                "department": "FA",
                "summary": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut commodo consequat. Duis aute irure dolor in reprehenderit in voluptnt occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                "email": "tranduy681996@gmail.com",
                "cvstatus": "Pending",
                "avatar": "",
                "effort": 70,
                "lastLoad": "2019-03-19",
                "score": 0,
                "scoreTechSkill": 0,
                "scoreLanguage": 0,
                "scorecertificate": 0,
                "createBy": 2,
                "createDate": "2019-03-19",
                "modifyBy": 2,
                "modifyDate": "2019-03-19",
                "certificates": null,
                "languages": null,
                "educations": null,
                "projectExperiences": null
              },
              "job": 1
            },
            {
              "description": null,
              "status": "Pending",
              "proexpid": 0,
              "roleid": 0,
              "createBy": 1,
              "createDate": "2019-04-30",
              "modifyBy": 1,
              "modifyDate": "2019-04-30",
              "lastLoad": "2019-04-30",
              "employee": 3,
              "job": 1
            }
          ],
          "matchedCertificates": [
            {
              "id": 2,
              "name": "Java",
              "score": 0,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04"
            },
            {
              "id": 1,
              "name": "TOEIC",
              "score": 500,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04"
            }
          ],
          "matchedLanguages": [
            {
              "id": 1,
              "name": "English",
              "level": 3,
              "lastused": 2019,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04"
            }
          ],
          "matchedTechSkills": [
            {
              "id": 1,
              "name": "Jpa",
              "level": 2,
              "experience": "",
              "lastused": 2019,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04"
            }
          ]
        }
      ]
    },
    {
      "id": 2,
      "name": "BV2",
      "company": "FPT software",
      "teamsize": 4,
      "timestart": "2019-04-04",
      "timeend": "2020-04-13",
      "description": "dự án bệnh viện 2",
      "techskills": "C#",
      "status": "On-going",
      "createBy": 1,
      "createDate": "2019-4-04",
      "modifyBy": 1,
      "modifyDate": "2019-4-04",
      "lastLoad": "2019-4-04",
      "jobs": [
        {
          "id": 5,
          "description": "pm dự án bệnh viện 2",
          "role": "PM",
          "timestart": "2019-04-04",
          "timeend": "2019-04-13",
          "status": "Open",
          "createBy": 1,
          "createDate": "2019-4-04",
          "modifyBy": 1,
          "modifyDate": "2019-4-04",
          "lastLoad": "2019-4-04",
          "candidates": [
            {
              "description": "dev dự án bệnh viện 2",
              "status": "Pending",
              "proexpid": 0,
              "roleid": 0,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04",
              "employee": 4,
              "job": 5
            },
            {
              "description": "dev dự án bệnh viện 2",
              "status": "Pending",
              "proexpid": 0,
              "roleid": 0,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04",
              "employee": 3,
              "job": 5
            }
          ],
          "matchedCertificates": [],
          "matchedLanguages": [],
          "matchedTechSkills": []
        },
        {
          "id": 6,
          "description": "dev dự án bệnh viện 2",
          "role": "DEV1",
          "timestart": "2019-04-04",
          "timeend": "2020-04-04",
          "status": "Open",
          "createBy": 1,
          "createDate": "2019-4-04",
          "modifyBy": 1,
          "modifyDate": "2019-4-04",
          "lastLoad": "2019-4-04",
          "candidates": [
            {
              "description": "dev dự án bệnh viện 2",
              "status": "Pending",
              "proexpid": 0,
              "roleid": 0,
              "createBy": 1,
              "createDate": "2019-4-04",
              "modifyBy": 1,
              "modifyDate": "2019-4-04",
              "lastLoad": "2019-4-04",
              "employee": 3,
              "job": 6
            }
          ],
          "matchedCertificates": [],
          "matchedLanguages": [],
          "matchedTechSkills": []
        }
      ]
    }
  ],
  "message": "Get all project of company successfully!"
}

在ID为1的项目中-ID为3的工作-我有ID为3的员工-员工数据包含我想要的所有数据。 但是在ID为1的项目-ID为1的工作中-我又有ID为3的员工,它只是返回员工ID,而不是整个员工JSON。

0 个答案:

没有答案