【问题标题】:Default class for Hibernate Single Table Inheritance SchemeHibernate 单表继承方案的默认类
【发布时间】:2015-07-08 18:13:34
【问题描述】:

我有一个将视图映射到现有 Hibernate 模式的应用程序,该模式广泛使用单表继承,并在 CLASSNAME 列中具有鉴别器值。使我的情况不寻常的是,我不支持数据中的所有子类(Hibernate 映射中的鉴别器值),只支持应用程序感兴趣的子类。

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

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

有没有办法做到这一点?

谢谢, 埃德

【问题讨论】:

    标签: hibernate-mapping


    【解决方案1】:

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

    Mapping Hibernate entity for unknown DiscriminatorValue for InheritanceType.SINGLE_TABLE.

    这并没有告诉您在映射文件中使用什么。我检查了开源代码,看来 discriminator-value="" 可以解决问题。 Hibernate 检查这个值(和 ),并给予他们特殊的处理。

    【讨论】:

      猜你喜欢
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-20
      • 2011-05-20
      • 2011-01-09
      相关资源
      最近更新 更多