2017-12-12 2 views
0

2つのエンティティがありますJPAマッピングの休止伝播IDの要件

class A { 
    Long idA; 
    B fieldB; 
} 

class B { 
    Long idA; 
    String something; 
} 

orm.xmlは

Aを保存する際の要件は、私はからBへのIDAをpropogateするために実装する必要があり
<entity class="A"> 
    <table name="a_table"/> 
    <attributes> 
     <id name="idA"> 
      <column name="idA"/> 
      <generated-value strategy="SEQUENCE" generator="PREDEFINED_GENERATOR_FROM_DB"/> 
     </id> 
     <one-to-one name="fieldB"> 
      <cascade> 
       <cascade-all/> 
      </cascade> 
      <primary-key-join-column name="idA" referenced-column-name="idA"/> 
     </one-to-one> 
    </attributes> 
</entity> 

<entity class="B"> 
    <table name="b_table"/> 
    <attributes> 
     <id name="idA"> 
      <column name="idA"/> 
     </id> 
     <basic name="something"> 
      <column name="something"/> 
     </basic> 
    </attributes> 
</entity> 

ですフィールドB?残念ながら、同様の構成ではIDAを伝えません

答えて

0

データベーススキーマの制約をチェックする必要があります。あなたはb_table説明で

idA BIGINT NOT NULL PRIMARY KEY REFERENCES a_table(idA) 

のようなものを持っている必要があり