5

テーブルを用意しましょう

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 は識別子列を必要としましたが、私は識別子を持っていません。

4

2 に答える 2

8

サブクラスが識別子を必要とせずにスーパークラスから注釈を継承できるようにするMappedSuperClassを探しています。

于 2012-05-03T07:12:03.873 に答える