Is it possible to add JPA annotation to superclass instance variables?

Posted by Kristofer Borgstrom on Stack Overflow See other posts from Stack Overflow or by Kristofer Borgstrom
Published on 2010-05-21T14:41:49Z Indexed on 2010/05/21 14:50 UTC
Read the original article Hit count: 316

Filed under:
|
|
|

Hi,

I am creating entities that are the same for two different tables. In order do table mappings etc. different for the two entities but only have the rest of the code in one place - an abstract superclass. The best thing would be to be able to annotate generic stuff such as column names (since the will be identical) in the super class but that does not work because JPA annotations are not inherited by child classes. Here is an example:

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
}

Which I would like to inherit and only specify the child-specific stuff, like annotations:

@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;

}

Any ideas or will I have to create fields, getters and setters in the child classes?

Thanks, Kris

© Stack Overflow or respective owner

Related posts about annotations

Related posts about java