У меня есть словарная структура, которую нам нужно передать в веб-интерфейс.На данный момент он предоставляет различные значения для одного раскрывающегося списка и доступные значения для остальных раскрывающихся списков в зависимости от выбора первого
@Entity
@Table(name = "CAR")
@Data
public class Car{
@Id
@Setter(NONE)
Long id;
String name;
@ManyToMany
@JoinTable(name = "CAR_WHEELS",
joinColumns = @JoinColumn(name = "CAR_FK"),
inverseJoinColumns = @JoinColumn(name = "WHEEL_FK"))
Set<Wheel> wheels;
//some other similar sets
}
Теперь вдоль доступных значений мы хотим, чтобы для них было значение по умолчанию,поэтому мы думаем о чем-то вроде:
@Entity
@Table(name = "CAR")
@Data
public class Car{
@Id
@Setter(NONE)
Long id;
String name;
AvailableValues availableValues;
DefaultValues defaultValues;
}
, а затем
@Embeddable
class AvailableValues{
Set<Wheels> wheels;
//...
}
@Embeddable
class DefaultValues{
Wheel wheel;
//...
}
Но я не знаю, как справиться с картографической стороной этого.DefaultValues должна быть простой и понятной, либо путем добавления этих значений в таблицу CAR, либо с помощью отношения один-к-одному вместо использования Embeddable, но не может придумать идеи для коллекций внутри объекта Embeddable, которые бы использовалиуже существующая структура.