在JPA / Hibernate中动态更改表名

时间:2016-05-12 14:35:48

标签: java hibernate jpa

我看过一些帖子谈论 NamingStrategy ,但这并不是我想要的(或者我不知道要接近它)。

我需要根据某些条件更改@Entity类中传递ID的@Table的名称,如下所示:

@Entity
@Table(name = "SA1{companyID}")
public class Cliente implements Serializable, Cloneable {

“companyID”类似于:010,020,030

有什么可以实现的吗?

2 个答案:

答案 0 :(得分:2)

如果您使用@MappedSuperclass

,情况会更好
@MappedSuperclass
class Cliente {

  @Column
  private String xxx;

}

@Entity
class SA1010 extends Cliente { 


}

答案 1 :(得分:0)

您可以通过实施 NamingStrategy

来实现

请参阅下面有助于您的帖子:

How do I configure JPA table name at runtime?

Change Table Name of an Entity on runtime?

Dynamic Naming Table with Hibernate