Hibernate 映射条件多对一

标签 hibernate

我必须映射一个传统数据库以用于只读目的,其中包含以下结构:

Table MAIN: 
id productId productType

Table PRODUCT_A: 
id description_a

Table PRODUCT_B: 
id description_b

Table PRODUCT_C: 
id description_c

根据 ProductTyp 列中的值,productId 引用 Product_A、Product_B 或 Product_C。

我为每个表创建一个 Java 实体。 Main 类包含每个产品的一个集合。

产品与主类不存在"is"关系。其他情况下作为独立实体使用。

有什么方法可以使用 hbm.xml 文件来映射它吗?

最佳答案

看起来您正在使用鉴别器使用每子类表策略来寻找继承。在 Java 中,每个 PRODUCT_X 类都应该扩展 Main 类。 This page解释了实现该策略的细节。

关于Hibernate 映射条件多对一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1797108/

相关文章:

mysql - 使用 C3P0 的 Hibernate 在 Oracle 上运行良好,但不关闭与 MySQL 5.6 的连接

java - 如何在 JPA 规范中按字段区分计数查询?

java - NullPointerException 发生在 FetchType.LAZY withi hibernate 和 spring boot

Hive/SparkSQL 的 Hibernate 方言?

java - 删除一对一关系上的 jpa 实体

java - hibernate 2 : mysql : socket write error

java - hibernate sql查询

尽管延迟获取,Hibernate JPA OneToOne 查询

java - HSQLDB 2.2 跳过某些实体并且不为它们创建表

Hibernate 多对多,没有第三张表