2016-12-19 5 views
0

同じhibernateマッピングファイル(hbm)ファイルにプライマリキーと外部キーを定義します。私は休止状態3を使用しています。単一のhibernateマッピング(hbm)ファイルでプライマリおよび外部キーを定義する方法は?

生成されたクラスで両方のキーを指定する方法がわかりません。私のテーブルのフィールドはid,eidfnameです。ここでidは主キーを保持し、eidは外部キーを保持し、fnameは文字列を保持します。

assignleave.hbm.xml

<hibernate-mapping> 
    <class name="assignLeave" table="assignleave"> 
     <id name="id" column="id" type="integer"> 
      <generator class="assigned"></generator> 
     </id> 
     <id name="eid" column="eid" type="integer"> 
      <generator class="foreign"></generator> 
     </id> 
     <property name="fname" column="fname" type="string"/> 
    </class> 
</hibernate-mapping> 

答えて

0

外部キーがID列ではありません。

あなたは2つのマッピングオプションがあります。どちらかのあなたが、その場合には、ほとんどのあなたの時間を、あなたはmany-to-oneマッピング

  • を使用するか、この外部表があり、外国人のテーブルを表すエンティティが備わってい

    • をhibernateによってマッピングされていない(または、アソシエーションをハイバーネイトにマップしたくない)場合は、<property>タグでマップし、assignLeaveエンティティは、private Integer eid;のような外部キーの整数フィールドを持ちます。
  • 関連する問題