在Hibernate中保留动态地图

时间:2012-07-09 07:52:31

标签: hibernate

is there any way to persist the map with dymamic fields.Here is sample code
Table :
A table with more than 200 fields.

POJO :
<code> 
<pre>
public class DynamicEntity {
private Long id;
 private Map<String,String> fields = new HashMap();
 public Long getId() {
 return id;
 }
 public void setId(Long id) {
 this.id = id;
 }
 public void add(String key,String value){
 fields.put(key,value);
 }
}
</pre>

持有动态字段的pojo中的地图。 交易代码..     

    GenericData data = new GenericData();
    data.addField("name", "CF");
    data.addField("description", "CF-USA");
    data.addField("server", "ServerName");
    //get the session
    session.save(data);
    

有什么办法可以在保存pojo时保存地图吗?这里的字段没有在hbm文件中配置,因为所有字段都是动态的。

我的基本想法是不在hbm文件中配置200个字段。

Regards,
Ravi.

1 个答案:

答案 0 :(得分:0)

如果没有映射,

hibernate就无法持久化。您可以手动指定它们,也可以根据地图内容动态生成它们。要将列映射到地图,您可以使用动态组件映射。