每个表中的Hibernate审计列,而不是在每个<class>定义中重复它们</class>

时间:2011-08-05 23:43:30

标签: hibernate

使用hibernate时,是否可以指定某些列(包括id,审计列等)存在于抽象基类中?这似乎是一种相当普遍的做法。特别是审计?

但是,我需要让这个基类只为审计列指定列名和属性/方法名。虽然Integer id列存在于抽象基类中,但我需要在具体类中的hibernate中定义id元素,因为每个具体类将使用不同的序列。

我最初开始寻找一种方法,只需在另一个hbm文件中“包含”一个hbm文件,并在一个地方定义审计列,但没有找到解决方案。然后我开始考虑使用带有abstract = true的类,但似乎那些类仍然需要一个id,这在我的情况下并不真正起作用。

似乎@MappedSuperClass可以在注释世界中使用,但是在使用.hbm.xml文件时我无法找到解决方案?

有人可以提供一个如何实现这个目标的例子吗?

1 个答案:

答案 0 :(得分:2)

Hibernate似乎不支持XML中的映射超类,因此您可以尝试使用abstractunion-subclass进行模拟,如this article中所述。但这很麻烦。