У меня есть вопрос для моего проекта в Spring Data REST.Spring Data REST конвертировать/показывать EmbeddedId, включая ManyToOne
Моя модель включает в себя две таблицы с EmbeddedIds. Первая таблица (name = B) состоит из двух целых чисел. Вторая таблица (name = A) состоит из простой FK и модели B (включая EmbeddedId).
Теперь, если я сделаю запрос для таблицы B, я получу два идентификатора. Однако, если я сделаю запрос для таблицы A, я не получу идентификаторы.
Поэтому я переуторил метод toString() в своем классе EmbeddedId, чтобы вернуть хотя бы ID в URI-ссылку ,
Я прочитал о BackendIdConverter или Spring core.converter и попытался преобразовать идентификаторы вправо, но я не смог достичь своей цели (получил ошибки). Так что теперь, мне нужна твоя помощь!
Чтобы полностью понять мою проблему, вот моя структура (как демо):
@Embeddable
public class IDsFromA implements Serializable {
@ManyToOne
@JoinColumn(name="cID")
private C c;
@ManyToOne
@JoinColumns({
@JoinColumn(name="b_1", referencedColumnName="b_1"),
@JoinColumn(name="b_2", referencedColumnName="b_2")
})
private B b;
}
@Embeddable
public class IDsFromB implements Serializable {
private int b_1;
private int b_2;
}
@Entity
public class A {
@EmbeddedId
private IDsFromA idsFromA;
// ...
}
@Entity
public class B {
@EmbeddedId
private IDsFromA idsFromA;
// ...
}
@Entity
public class c {
@Id
private int cID;
// ...
}
Я решил проблему несколько часов назад, установив BackendIdConverter вправо. Но после того, как я спрятал конвертеры и попытался с вашим вариантом, я заметил, что идентификаторы уже показаны, поэтому я не могу проверить ваш ответ прямо сейчас, но сделаю это в другом проекте. Но спасибо за ваш ответ! – Phil
@Phil, можете ли вы добавить свой ответ? –
Я подталкиваю его к проекту github в ок. 5-6 часов. Ничего страшного? – Phil