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

前端之家收集整理的这篇文章主要介绍了java – 如何使用hibernate / jpa注释将一个类映射到不同的表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前坚持似乎是一个非常简单的问题,但我似乎找不到方法

我有两个相同的表:

> 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中的两个表…我不认为你可以这样做.

原文链接:https://www.f2er.com/java/125455.html

猜你在找的Java相关文章