Я работаю над приложением REST с Hibernate с данными Spring и т. Д. Я настроил все свои основные действия, но теперь я хочу что-то сделать конкретный. Когда я получаю список элементов, которые имеют внешний ключ в другой таблице в моей базе данных, hibernate вернет всю строку этого внешнего ключа. Например:Как изменить способ возврата объектов в 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":"[email protected]"},
"name":"Groep",
"dateCreated":"2012-04-25"
}
]
(Все эти литературные данные по пути)
Теперь дело это не хотят, чтобы школа возвращается в полном объеме. Я просто хочу показать school_id. Я искал по сети и читал некоторые вещи о «сопоставлении уровня сервиса», но я не смог найти никаких примеров. Я построил мое приложение с контроллером
-> Сервис -> дао -> хранилище
установки.
Надеюсь, вы, ребята, можете мне помочь! (дайте мне знать, если вам нужно больше исходного кода).
Большое спасибо
EDIT
То, что я хочу добавить, что мой MySql таблица выглядит следующим образом:
ID | SCHOOL_ID | ИМЯ | DATE_CREATED
Так что я хотел бы, чтобы вернулись только равнина 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;
}
Когда я меняю код, как предложил Дэнни, я получаю результат, который я хочу .. почти. Это то, что я получу, если выполнить запрос прямо сейчас:
[ {
"id":1,
"school": {"id":1, "name":"De regenboog", password":"800e30e9bb3b82ce955a127650d835d0", "street":"Plantaanstraat", "number":"2", "zipCode":"1234AS", "city":"Amsterdam", "contactName":"Arends", "contactPhoneNumber":"06-45648466", "contactEmail":"[email protected]"},
"schoolId": 1
"name":"Groep",
"dateCreated":"2012-04-25"
}
]
Дело в том, что я хочу, чтобы отключить school
для данного конкретного запроса. Это возможно?
Проблема (я думаю) в том, что у меня есть ситуации, когда я хочу, чтобы они показывались. Как управлять ими? (Например, когда я спрашиваю школу) –