我指的是每个具体类的表,如下所述:每个具体类的表
按照 9.1.6 中的示例,假设我有 CashPayment、CreditCardPayment,两者的超类是一个抽象的Payment 类。
如果我使用“每个具体类的表”类型的映射,我将有两个表:CASH_PAYMENT 和 CREDIT_PAYMENT,并且没有 PAYMENT 表。没关系。
但是,如何构建另一个名为 Xyz 的实体类型,其中包含对付款(现金或抄送)的引用/属性...?从 Java 的角度来看,这没问题:Xyz.pamentType,但是我如何在 HBM/annotations 中配置它,XYZ 表会是什么样子?
它可能有一个 PAYMENT_ID 列,但显然它不能是外键,因为有两个潜在的表可供参考。我猜 XYZ 需要某种类型的附加列来说明它是哪种类型的付款。
或者每次我读取 Xyz 的实例时,Hibernate 是否会使用 ID 连接两个表以找到正确的类型?
顺便说一句,我知道这是一种不好的方法,我可以使用更简单的替代方法,但我已经简化了问题,因为答案(而不是替代方法)对我有用。谢谢!