2014-04-01 71 views

回答

1

Hibernate中有"dynamic models",与您引用的“Flex扩展”类似。你可以试试看。

前段时间,我不得不在普通的JPA 2中为PoC项目(快速和肮脏)做类似的事情,我选择将动态事物保持为Map,自己序列化对象,看起来有点丑陋,但它做到了作业:

@Access(AccessType.PROPERTY) 
@ElementCollection 
@MapKeyColumn(name="name") 
@Column(name="value") 
@CollectionTable(name="dynamic_data", [email protected](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 
} 

当然,它还没有准备好复制粘贴到生产代码中,突出显示的想法。

P.S.我在hibernate sources

中发现了一些动态模型演示代码