Мне нужна сильная модель данных для моих нужд.У меня есть 3 объекта, все они ссылаются друг на друга.Это «игры», «платформы», «категории».Одна игра может быть во многих категориях, а также может быть на многих платформах.Одна категория может содержать много игр и может быть на многих платформах.Одна платформа может иметь много игр и категорий.Все отношения @ ManyToMany.
Я пытался использовать хэш-карту для отображения этих отношений в отношении сущностей.
Game.java
@JoinTable(name = "GAME_PLATFORM_CATEGORY",
joinColumns = @JoinColumn(name = "GAME_ID"),
inverseJoinColumns = @JoinColumn(name = "CATEGORY_ID"))
@MapKeyJoinColumn(name = "PLATFORM_ID")
@ElementCollection
private Map<Platform, Category> categoriesByPlatform = new HashMap<>();
Category.java
@JoinTable(name = "GAME_PLATFORM_CATEGORY",
joinColumns = @JoinColumn(name = "CATEGORY_ID"),
inverseJoinColumns = @JoinColumn(name = "PLATFORM_ID"))
@MapKeyJoinColumn(name = "GAME_ID")
@ElementCollection
@JsonIgnore
private Map<Game, Platform> platformsByGame = new HashMap<>();
Platform.java
@JoinTable(name = "GAME_PLATFORM_CATEGORY",
joinColumns = @JoinColumn(name = "PLATFORM_ID"),
inverseJoinColumns = @JoinColumn(name = "GAME_ID"))
@MapKeyJoinColumn(name = "CATEGORY_ID")
@ElementCollection
@JsonIgnore
private Map<Category, Game> gamesByCategory = new HashMap<>();
Добавить запрос на игру
{
"blockLink": true,
"categoriesByPlatform" : {
1:1
},
"descriptions": [
],
"gameLink": "string",
"name": "string",
"url": "string"
}
Я ожидал, что на каждом экземпляре объекта будут ссылки на объекты в картах.Но когда я пытаюсь добавить игру с запросом выше, я получаю HTTP 415. Как мне решить эту проблему?Или мой подход полностью ложный?