Hibernate 1个模型的多个表名

时间:2017-03-19 16:38:14

标签: java hibernate jpa

我甚至不知道如何标题我的问题所以如果听起来不对我道歉......

假设我有一个这样的模型:

@Entity
@Table
public class Bank{
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id;
    private String currency;
    private double amount;

}

我希望有多个表取决于货币。

有可能吗?

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。您可以按货币创建一个具体的类,并使用JPA策略" Table by class inheritence"。

一个抽象的银行家课程

@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public abstract class Bank {
  @Id
  private long id;
  private double amount;
  ...
}

EUR的一个混凝土课程:

@Entity
@Table(name="BANK_EUR")
public class BankEUR extends Bank {

}

美元的一个混凝土课程:

@Entity
@Table(name="BANK_USD")
public class BankUSD extends Bank {

}

等等。