2010-06-08 138 views
0

我想实现一个类,它的字段可以随时间变化(添加新字段)。问题是,我想给我的客户自己做这件事的能力,只需要完成他想要的领域和类型的一种形式,然后这个改变就会自动完成! 有没有人有任何想法我怎么能实现这个类,并使用hibernate注释在我的数据库中进行此更改?使用hibernate注释实现动态类

回答

0

您应该使用名称 - 值对映射。 Hibernate本身支持地图,并且它们的内容是动态的。

+0

谢谢。对不起,我是新的休眠。从我的理解来看,hibernate会为哈希映射创建一个新表。如果我的哈希映射的值是另一个类的对象,hql是否支持需要从该对象中选择一些值的查询?换句话说,在这种情况下,hql是否支持嵌套的select查询? – 2010-06-08 13:29:14

+0

@Zahra,地图本身通常没有需要的表格,只有被包含的对象(如果它们本身是实体的话)。 AFAIK HQL通常支持嵌套选择。但是地图内容由Hibernate在访问时自动加载,因此您也可以在地图中执行简单查找而不是HQL。 – 2010-06-08 13:41:06

+0

非常感谢。实际上,我需要HQL查询,因为我有一个搜索需要我放入地图的对象的一些字段! – 2010-06-08 16:16:14

0

您绝对不能使用Hibernate Annotations进行更改,因为注释只能在编译时附加到类上。但是,如果你想在运行时改变你的类的结构(添加字段,方法等),你将不得不重新编译这个类并重新创建Hibernate用来访问数据库的数据库映射。