JPA 2 Пользовательские Поля Сущностей

1

Я прочитал эту статью, и я ищу решение этой проблемы Spring - JPA.

Возможно ли изменение JPA-сопоставлений "на лету"?

Я нашел это решение, но не работал... Я использую Spring/JPA/Hibernate...

Большое спасибо!

Теги:
spring
hibernate
jpa

1 ответ

1

В Hibernate есть "динамические модели", похожие на "Flex Extensions", на которые вы ссылались. Вы можете попробовать.

Некоторое время назад мне приходилось делать что-то подобное в простой JPA 2 для проекта PoC (быстрый и грязный), и я решил сохранить динамические вещи, как Map, сериализуя объекты самостоятельно, выглядит немного уродливым, но это делает работу:

@Access(AccessType.PROPERTY)
@ElementCollection
@MapKeyColumn(name="name")
@Column(name="value")
@CollectionTable(name="dynamic_data", joinColumns=@JoinColumn(name="entity_id"))
private Map<String, String> data_xml;

@Transient
private Map<String, Object> data = new HashMap<>();

protected Map<String, String> getData_xml() { //serialize each value to string 
}

protected void setData_xml(Map<String, String> data_xml) { //convert each value from string
}

Конечно, он не готов к копированию в производственный код, juts, чтобы показать эту идею.

PS Я нашел демо-код динамических моделей в спящих источниках

Ещё вопросы

Сообщество Overcoder
Наверх
Меню