我有两个架构(声明和政策).对于两个架构,我使用相同的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();
}
解决方法:
您需要为不同的模式提供两个不同的映射,因此您必须创建两个Java映射类,并使用Table批注对其进行批注,以标记每个特定实体的schema.
标签:java,orm,hibernate,hibernate-mapping,hibernate-criteria
来源: https://codeday.me/bug/20190706/1399281.html