Как я могу отобразить Set <Date>даты без создания новой таблицы? - PullRequest
0 голосов
/ 03 мая 2020
@Entity(name = "my_entity_name")
public class MyEntityName {

    /* some normal fields */

    private Set<Date> dates = new HashSet<>();

    /* Getters and setters for all fields */
}

Я хочу сохранить эту коллекцию дат в виде одного столбца (так как json мне подходит) в этой же сущности. Есть ли решение для этого в JPA? Пожалуйста, помогите мне ... спасибо заранее.

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

Я получил решение, используя @Converter(converter = MyCustomTypeConverter.class) в поле типа коллекции в моем классе сущностей.

пример конвертера будет выглядеть так

public class MyCustomTypeConverter implements AttributeConverter<Set<Date>, String> {

    private ObjectMapper mapper = new ObjectMapper();

    @Override
    public String convertToDatabaseColumn(Set<Date> attribute) {

        //code to convert from collection field to string
    }

    @Override
    public Set<Date> convertToEntityAttribute(String dbData) {

        //code to convert from db-string field to collection field.
    }
}
0 голосов
/ 03 мая 2020

Возможно, вам следует использовать поле String для этой цели. Наборы используются в основном с отображением @ManyToMany или @ OneToMany

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...