Хранение списка объектов в сущности
У меня есть Entity, например Fruits.
Ее класс:
@Entity
class Fruits {
@Id
long id;
List<Apple> apples;
}
И класс яблока
class Apple {
String variety;
}
Apple - обертка над строкой в которой я хочу валидировать данные и возможно еще какие-то действия.
Проблема в том, что List в Entity не может содержать не Entity. Как я могу
хранить строку из Apple в базе данных, но в классе Fruits хранилось Apple
Ответы (1 шт):
Автор решения: Roman Konoval
→ Ссылка
Используйте @ElementCollection + @Embeddable, как описано в документации:
@Entity
class Fruits {
@Id
private Long id;
@ElementCollection
private List<Apple> apples = new ArrayList<>();
// геттеры и сеттеры
}
@Embeddable
class Apple {
private String variety;
// геттеры и сеттеры
}
Это создаст дополнительную таблицу Fruits_apples с двумя полями fruits_id и variety.