How to get the DiscriminatorValue at run time
I can imagine few cases where it might be helpful, but despite the reason why you need this, you could create on your abstract class method like
@Transient
public String getDiscriminatorValue(){
DiscriminatorValue val = this.getClass().getAnnotation( DiscriminatorValue.class );
return val == null ? null : val.value();
}
You can map your discriminator as a read-only property:
public class ApplicationProcess {
...
@Column(name = "apType", insertable = false, updatable = false)
private String apType;
}