以下のクラスがあります
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE) // optional annotation as this is default
@DiscriminatorColumn(name = "apType", discriminatorType = DiscriminatorType.STRING, length = 255)
@DiscriminatorValue("AP")
public class ApplicationProcess {
}
この
@Entity
@DiscriminatorValue("APS")
public class ApplicationProcessScheme extends ApplicationProcess {
}
ApplicationProcess
ここで、実行時にのがであるかどうかを知る必要がありDiscriminatorValue
AP or APS
ます。これはjpaによって自動的に処理されるため、この値を取得する方法はありません。
ApplicationProcess
パラメータとしてasを受け取るメソッドを呼び出していますが、instanceof
それがどのタイプであるかを確認するために使用することは避けたいと思います。私が次のようなことをすることができればもっと涼しいでしょう
applicationProcess.getApType().equals("AP");