#spring #hibernate #jpa #enums
#spring #спящий режим #jpa #перечисления
Вопрос:
Существует объект — ‘Parameter’, в который внесено перечисление — ‘ValueType’
@Data
@Entity
public class Parameter {
@Id
@Column(name = "id", unique = true, nullable = false)
private UUID id;
@Enumerated(EnumType.String)
private ValueType type;
}
public enum ValueType {
STRING,
NUMBER;
}
Как лучше всего сделать ‘ValueType’ отдельной таблицей, в которой эти таблицы связаны отношением OneToOne
Ответ №1:
В качестве наилучшей практики вы бы не использовали отдельную таблицу, если вам нужно перечисление — ваш подход выглядит очень хорошо.
Если вы хотите сохранить значения в отдельной таблице, вам нужно создать ее как объект (возможно, только с одним полем, значением перечисления, которое также является первичным ключом) и связать его с ManyToOne / OneToMany . OneToOne, похоже, не имеет большого смысла. (вы можете посмотреть на Bootify.io чтобы сделать любой из этих двух вариантов)