【发布时间】:2013-09-13 07:27:05
【问题描述】:
我正在尝试使用 Hibernate,并将 hbm2ddl.auto 设置为 validate,以便 Hibernate 必须尊重我的数据库架构,而不是围绕我的 Java 类自动生成表。
我的很多表都是所谓的“查找”或“参考”表,它们基本上由id、name 和tag 字段组成:
credit_card_types
credit_card_type_id Ex: "12"
credit_card_type_name Ex: "Visa"
credit_card_type_tag Ex: "VISA"
payment_types
payment_type_id Ex: "2"
payment_type_name Ex: "Google Checkout"
payment_type_tag EX: "GOOGLE_CHECKOUT"
etc.
我想将这些建模如下:
public class BaseLookup {
private Long id;
private String name;
private String tag;
// ...getters, setters and ctors, etc.
}
public class CreditCardTypes extends BaseLookup {
// .. perhaps a few other fields, methods, etc...
}
public class PaymentTypes extends BaseLookup {
// .. perhaps a few other fields, methods, etc...
}
问题是我不希望 Hibernate 搜索(验证)lookups 表:我希望它验证分别称为 credit_card_types 和 payment_types 的 2 个查找表。
我需要哪些注解/配置才能允许这种类型的 Java 继承但只创建 2 个查找表(而不是 3 个)?提前致谢!
【问题讨论】:
-
我认为您可以使用 hbm.xml 但不使用注释来做到这一点。在 Hbm.xml 的情况下,您可以像只有一个实体一样行事,并将 CreditCardTypes 和 PaymentTypes 像实体一样映射到单个类中
标签: java hibernate inheritance orm lookup-tables