私には2つのエンティティクラスがあります-A
とB
。コードのテンプレートは次のとおりです。
class A extends class B {
// ...
}
@Entity
@Table("OPERATION")
@DiscriminatorValue()
@Access()
class B {
// ...
}
クラスB
には、.sqlファイルにスキーマ定義があります。クラスA
にはスキーマ定義がありません。
私の質問は、A
リレーショナルデータベースにマップするために、クラスが.sqlファイルにもスキーマ定義を持っている必要はないということです。私はこれについて混乱していて、マッピングがどのように行われているのか理解できません。
より具体的な例を使用するために、次の2つのクラスがOperation
ありOperationAmend
、それらのコードは次のとおりです。
@Entity
@DiscriminatorValue()
@Access()
class OperationAmend extends Operation {
//some functions here for amending an operation
}
@Entity
@Table("OPERATION")
@DiscriminatorValue()
@Access()
class Operation {
//some functions here for the operation.
}
SQLスキーマ:
CREATE TABLE OPERATION {
OperationId INT;
Name VARCHAR(20);
}
OperationAmend
スキーマがない場合でも、クラスをどのように保存できますか?