テーブルを用意しましょう
USER
-id : long
-login : varchar
-weapon: varchar
-magic: varchar
そして、このテーブルを2つのクラスにマップしたい(Hibernate/JPAを使用)
class Mag
{
long id;
String login;
String weapon;
}
と
class Warrior
{
long id;
String login;
String magic;
}
そして、HQL クエリを送信するとSELECT m FROM Mag m WHERE m.login = ?
、Mag インスタンスが取得
され、HQL クエリを送信するとSELECT w FROM Warrior w WHERE w.login = ?
、Warrior インスタンスが取得されます。次
のようなものを作成してみ ます
@Entity
@Table(name = "User")
class User
{
long id;
String login;
}
@Entity
class Mag extends User
{
String magic;
}
@Entity
class Warrior extends User
{
String weapon;
}
しかし、 @Inheritance は識別子列を必要としましたが、私は識別子を持っていません。