Java 仅当列存在时才休眠@Column
我有:Java 仅当列存在时才休眠@Column,java,hibernate,Java,Hibernate,我有: 问题是,并非所有表都存在“boo”列。有没有可能对getBoo()进行注释,这样如果列不存在,它会将“boo”保持为null?也许在这里使用继承更好,我的意思是类AWithBoo扩展了A也许在这里使用继承更好,我的意思是类AWithBoo扩展了A明确的答案是:不,你不能这样做。你绝对应该重新考虑你的设计。为什么不使用继承并将boo向下移动到派生类 顺便说一句:如果你能像你在问题中描述的那样将boo设置为null,那么intboo会随着NPE;)爆炸 明确的答案是:不,你不能这样做。你绝对
问题是,并非所有表都存在“boo”列。有没有可能对getBoo()进行注释,这样如果列不存在,它会将“boo”保持为null?也许在这里使用继承更好,我的意思是
类AWithBoo扩展了A
也许在这里使用继承更好,我的意思是类AWithBoo扩展了A
明确的答案是:不,你不能这样做。你绝对应该重新考虑你的设计。为什么不使用继承并将boo向下移动到派生类
顺便说一句:如果你能像你在问题中描述的那样将boo设置为null,那么
intboo
会随着NPE;)爆炸 明确的答案是:不,你不能这样做。你绝对应该重新考虑你的设计。为什么不使用继承并将boo向下移动到派生类
顺便说一句:如果你能像你在问题中描述的那样将boo设置为null,那么
intboo
会随着NPE;)爆炸 在工作中,我们遇到了同样的问题:一个被27个国家使用的应用程序。所有这些国家都需要自己的功能,因此需要自己的db列
在JPA/Hibernate中,不可能这样做。您必须为所有国家/地区共享相同的实体属性,这意味着为许多国家/地区创建无用的列,并逐个国家/地区处理db约束。在工作中,我们遇到了相同的问题:27个国家/地区使用的应用程序。所有这些国家都需要自己的功能,因此需要自己的db列
在JPA/Hibernate中,不可能这样做。您必须为所有国家/地区共享相同的实体属性,这意味着为许多国家/地区创建无用的列,并逐个国家/地区处理db约束。他们现在解决此问题的另一种方法是2019年不继承吗?他们现在解决此问题的另一种方法是2019年不继承吗?
@MappedSuperClass
public class A{
private int boo;
@Column(name = boo)
public int getBoo(){
return boo;
}
public void setBoo(int boo){
this.boo = boo;
}
}