java – 如何使用hibernate / jpa注释将一个类映射到不同的表

我目前坚持似乎是一个非常简单的问题,但我似乎找不到方法: 我有两个相同的表: tbl_creditcard_approved_txns tbl_creditcard_declined_txns 两者中的字段是相同的,我有一个类 – 用于表示表中所有相应字段的事务. 我试图将两个不同的实体(每个表一个)映射到

我目前坚持似乎是一个非常简单的问题,但我似乎找不到方法:

我有两个相同的表:

> tbl_creditcard_approved_txns
> tbl_creditcard_declined_txns

两者中的字段是相同的,我有一个类 – 用于表示表中所有相应字段的事务.

我试图将两个不同的实体(每个表一个)映射到上面的类.在旧世界中,我创建了两个hbm.xml文件,每个表中有一个,并将它们映射到Transaction.然后,我会在持久化期间使用实体名称,以确保对象在正确的表中保持不变,具体取决于具体情况.

目前我试图使用注释来实现相同的功能,但迄今没有运气将2个实体映射到一个类.这是可能的吗

我目前正在使用一种不同的方法,将所有常见的字段(相同的列名称)提取到@MappedSuperClass中,并为超类提供了两个独立的类(每个实体一个)(这些类都是相同的字段具有不同的列名称,如果适用).

解决方法

使用@MappedSuperclass,您将继续执行如下:

@MappedSuperclass
public class Transaction ...

@Entity
@Table(name="tbl_creditcard_approved_txns")
public class DeclinedTransaction extends Transaction ...

@Entity
@Table(name="tbl_creditcard_declined_txns")
public class ApprovedTransaction extends Transaction ...

如果需要,使用@AttributeOverride来覆盖两种类型的Transaction对象之间的列名称.

更新:我看到你想映射一个@Entity到同一个EntityManagerFactory中的两个表…我不认为你可以这样做.

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部