我正在为两个不同的表创建相同的实体。为了使两个实体的表映射等有所不同,但仅将其余代码放在一个地方-
抽象超类。最好的办法是能够在父类中注释诸如列名之类的通用内容(因为它们将是相同的),但这是行不通的,因为JPA注释不会被子类继承。这是一个例子:
public abstract class MyAbstractEntity {
@Column(name="PROPERTY") //This will not be inherited and is therefore useless here
protected String property;
public String getProperty() {
return this.property;
}
//setters, hashCode, equals etc. methods
}
我想继承并仅指定特定于孩子的内容,例如注释:
@Entity
@Table(name="MY_ENTITY_TABLE")
public class MyEntity extends MyAbstractEntity {
//This will not work since this field does not override the super class field, thus the setters and getters break.
@Column(name="PROPERTY")
protected String property;
}
有什么想法或者我必须在子类中创建字段,获取器和设置器?
谢谢,克里斯
您可能想用@MappedSuperclass
类注释MyAbstractEntity,以便休眠将在子对象中导入MyAbstractEntity的配置,而不必覆盖该字段,只需使用父对象的字段即可。该注释是休眠的信号,它也必须检查父类。否则,它假定它可以忽略它。
本文向大家介绍是否可以将HTML5验证添加到Visual Studio?,包括了是否可以将HTML5验证添加到Visual Studio?的使用技巧和注意事项,需要的朋友参考一下 对于HTML5验证,您需要在Visual Studio中安装IntelliSense和验证支持。Visual Studio 2012支持HTML5。 VS 2010具有IntelliSense支持,但是VS 2012添加
问题内容: 为了更好地理解Java中的工作原理,我想知道是否可以在运行时动态地向类路径添加目录。 例如,如果我使用 “ java -jar mycp.jar” 启动一个 .jar 并输出 java.class.path 属性,则可能会得到: 现在可以在运行时修改该类路径以添加另一个目录吗?(例如,在使用我要添加的目录中的 .jar 首次调用类之前)。 问题答案: 您可以使用以下方法: 但是您需要使
问题内容: 我有一个正在创建的字符串,并且需要向该字符串添加多个“ \ 0”(空)字符。在每个空字符之间是其他文本数据(仅ASCII字母数字字符)。 我的问题是,在J2SE中,当您添加第一个null(\ 0)时,java似乎确定它是一个字符串终止符(类似于C ++),并且忽略了所有附加的数据。不引发错误,尾随的数据将被忽略。我需要在字符串中的null后强制添加其他尾随数据。我必须对我支持的旧数据库
问题内容: 是否可以在GROUP BY中添加一个标识列,以便每个重复项都有一个标识号? 我的原始数据如下所示: 我想将其转换为: 解决方案是: 问题答案: 如果您使用的是Sql Server 2005,则可以尝试使用ROW_NUMBER
问题内容: 我在类型为char(7)的MySQL表中的“语言”列上遇到JPA /hibernate映射问题。在我的实体中,为该字段生成的代码为: 这会在运行时导致以下异常: 提前致谢 ! J.P 问题答案: 尝试这个: 看看是否可行。
问题内容: 静态变量只有实例(也就是说,它们是类的一部分)。例如:Math.pi 有什么办法可以有多个静态变量实例吗?我听说有一些与Classloader相关的东西吗? 问题答案: 如果发现需要一个静态变量的多个实例,则强烈表明您不应该首先使用静态变量。 是的,如果同一类加载到不同的类加载器中,则该类的每个副本将具有其自己的静态变量。但是,唯一可以静态引用这些静态变量的代码将是由同一类加载器加载的