Hibernate单表继承方案的默认类

时间:2015-07-08 18:13:35

标签: hibernate-mapping

我有一个应用程序将视图映射到现有的Hibernate架构,该架构在CLASSNAME列中广泛使用带有discriminator-value的单表继承。让我的情况与众不同的是,我不支持数据中的所有子类(Hibernate映射中的discriminator-value),只是那些应用程序感兴趣的子类。

问题是如果应用程序遇到不支持的鉴别符值,Hibernate会抛出“org.hibernate.WrongClassException”,因为它无法找到具有所需鉴别器值的映射。

我想做的是创建Hibernate将使用的子类,如果鉴别器值未知(而不是抛出异常)。

有办法做到这一点吗?

谢谢, 编

1 个答案:

答案 0 :(得分:0)

我在这里找到了那些使用注释的答案:

Mapping Hibernate entity for unknown DiscriminatorValue for InheritanceType.SINGLE_TABLE

这不告诉您在映射文件中使用的内容。我检查了开源代码,看来discriminator-value =“< not null discriminator>”会做的。 Hibernate检查此值(和< null discriminator>),并为它们提供特殊处理。