是否可以在同一个实体类中维护不同的模式

时间:2015-08-14 08:25:04

标签: java hibernate orm hibernate-mapping hibernate-criteria

我有两个架构(声明和政策)。对于两个架构,我使用相同的Entity类。 我的问题是,声明架构有列城市但政策架构确实有城市列。所以如果我按策略模式使用实体类,我会收到错误。 这只是改变每个模式的Entity类的方法吗?或者是否可以在同一个实体类中维护不同的模式?

我的实体课程:

@Entity
@Table(name = "Table_name")
public class X {

   @Id
   @GeneratedValue(strategy=GenerationType.AUTO)
   @Column(name = "xxx")
   private int xxx;

   @Column(name = "yyy")
   private String yyy;

   @Column(name = "city")
   private String city;      // only claim schema 
 }  

我得到这样的架构,

if(id.startsWith("SW")){
                session = getSWSession();
}
if(id.startsWith("HW")){
                session = getHWSession();
}

1 个答案:

答案 0 :(得分:1)

您需要为不同的模式提供两个不同的映射,因此您必须创建两个Java映射类,并使用表注释对其进行注释,以标记每个特定实体的schema