JPA Enumeration Query - PullRequest
       6

JPA Enumeration Query

0 голосов
/ 06 ноября 2018

Я использую Spring Data JPA. У меня есть Recipe сущность и Difficulty перечисление со свойствами, EASY, MEDIUM, HARD.

Мой Recipe класс состоит из Difficulty, как показано ниже:

@Enumerated(value=EnumType.STRING)
private Difficulty difficulty;

Мой код работает должным образом, и я могу с трудом сохранить рецепт.

Мой вопрос начинается здесь. Что если я хочу добавить несколько перечислений в один столбец БД? например, я хочу, чтобы в рецепте было две из этих трудностей.

1 Ответ

0 голосов
/ 06 ноября 2018

Использовать пользовательские AttributeConverter:

@Convert(converter = DifficultiesConverter::class)
private List<Difficulty> difficulties;


import javax.persistence.AttributeConverter
@Converter(autoApply = true)
public class DifficultiesConverter implements AttributeConverter<List<Difficulty>, String> {
  public String convertToDatabaseColumn(List<Difficulty> attribute) {
    // convert List to String, such as [EASY, MEDIUM, ...] to "EASY,MEDIUM,..."
    return ... 
  }

  public List<Difficulty> convertToEntityAttribute(String dbData) {
    // convert String to List, such as "EASY,MEDIUM,..." to [EASY, MEDIUM, ...]
    return ... 
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...