В 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 Я нашел демо-код динамических моделей в спящих источниках