Чтение столбца строки как карты с помощью гибернации

#java #hibernate

#java #режим гибернации

Вопрос:

у меня есть столбец в базе данных со строкой, т.Е. ‘{es:title_es,en:title_en}’ Итак, мне нужно прочитать его как Map<String,String> , это будет для I18N.
Мне нужна карта с языком в качестве ключа и меткой в качестве значения. Я использую Hiberante 3.3.2 и Java 8 и SQL Server.

Есть ли шанс получить эту карту в EntityClass? Это будет полезно, потому что любая связь с этим объектом будет иметь правильное представление, а не простую строку. И поведение остается инкапсулированным.

Таблица: ЗАГОЛОВКИ КОДА OID 1 XXX ‘{es:title_es,en:title_en}’

Сущность :

 @Entity
@Table(name = "TABLE_NAME")
public class EntityClass {
    private Long oid;
    private String code;
    private String titles;  ---> i have this but i want private Map<String, String>

    @Column(name = "CODE", nullable = false)
    public String getCode() {
        return code;
    }

    @Column(name = "TITLES", nullable = false)
    public String getTitles() {
        return descriptions;
    }  ----> this work fine, but here i want to get directly the Map, 
}```
 

Комментарии:

1. Какой тип базы данных вы используете для TITLES столбца? Какую базу данных вы используете?

2. да, я уже записал это в описании

3. Вы можете сделать это с помощью an AttributeConverter<..> , но это действительно плохая идея, ИМХО; карта замедлит работу вашего приложения и значительно увеличит время выполнения запросов. Вероятно, вам следует рассмотреть лучшие технические альтернативы.