@Entity
public class Event {
@Id
@GeneratedValue
private Long id;
public Long getId() {
return id;
}
}
@MappedSuperclass
public abstract class AbstractBase {
@OneToOne
@JoinColumn(name = "MYEVENT")
private Event event;
}
@Entity
@AssociationOverride(name = "event", foreignKey = @ForeignKey(name = "FK_REAL_EVENT"))
public class RealClass extends AbstractBase {
}