我正在使用 Spring-data Hibernate 等开发 REST 应用程序。我已经设置了所有基本操作,但现在我想做一些具体的事情。当我检索具有指向我的数据库中另一个表的外键的项目列表时,休眠将返回该外键的整行。例如:
[ {
  "id":1, 
  "school": {"id":1, "name":"De regenboog", password":"800e30e9bb3b82ce955a127650d835d0", "street":"Plantaanstraat", "number":"2", "zipCode":"1234AS", "city":"Amsterdam", "contactName":"Arends", "contactPhoneNumber":"06-45648466", "contactEmail":"arends@regenboog.nl"}, 
  "name":"Groep", 
  "dateCreated":"2012-04-25"
  }
]
(顺便说一下,这些都是虚构的数据)
现在的问题是不希望学校全部归还。我只想显示school_id。我在网上搜索并阅读了一些关于“服务级别映射”的内容,但我找不到任何示例。我用一个构建了我的应用程序
控制器 -> 服务 -> dao -> 存储库
设置。
我希望你们能帮助我!(如果您还需要更多源代码,请告诉我)。
非常感谢
编辑
我要补充的是,我的 MySql 表如下所示:
身份证 | 学校 ID | 姓名 | 创建日期
所以我想要返回的只是普通的 school_id 而不是目标学校(在这种情况下)
EDIT2 我正在处理@Dandy 答案,我想展示我现在拥有的代码:
@ManyToOne
@JoinColumn(name = "SCHOOL_ID")
private School school;
@Column(name = "SCHOOL_ID", insertable = false, updatable = false)
private long schoolId;
public long getSchoolId() {
    return schoolId;
}
public void setSchoolId(long schoolId) {
    this.schoolId = schoolId;
}
public School getSchool() {
    return school;
}
public void setSchool(School school) {
    this.school = school;
}
当我像 Danny 建议的那样更改代码时,我得到了我想要的结果......几乎。如果我现在运行查询,这就是我得到的:
[ {
  "id":1, 
  "school": {"id":1, "name":"De regenboog", password":"800e30e9bb3b82ce955a127650d835d0", "street":"Plantaanstraat",  "number":"2", "zipCode":"1234AS", "city":"Amsterdam", "contactName":"Arends", "contactPhoneNumber":"06-45648466", "contactEmail":"arends@regenboog.nl"},    
  "schoolId": 1  
  "name":"Groep", 
  "dateCreated":"2012-04-25"
  }
]
问题是我想禁用school这个特定查询。那可能吗?