2015-12-29 2 views
0

У меня есть два файла сопоставления спящего режима. Я пробовал несколько подходов, чтобы связать их, используя этот documentation. Не могли бы вы показать мне самый простой способ сделать это.Простая ассоциативная сопоставление с гибернацией

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping> 
    <class name="model.Player" table="PLAYER"> 
     <id name="playerId" type="int" > 
      <column name="ID" precision="5" scale="0"/> 
      <generator class="sequence"> 
       <param name="sequence">PLAYER_SEQ</param> 
      </generator> 
     </id> 
     <!-- ... --> 
    </class> 
</hibernate-mapping> 

И второй один:

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping> 
    <class name="model.AnnualFee" table="ANNUAL_FEE"> 
     <id name="id" type="int" > 
      <column name="ID" precision="5" scale="0"/> 
      <generator class="increment"/> 
     </id> 
     <property name="playerId" type="int"> 
      <column name="PLAYER_ID" length="20" not-null="true" /> 
     </property> 
     <!-- ... --> 
    </class> 
</hibernate-mapping> 

Я хочу, чтобы быть связаны по playerId и быть в состоянии выполнить outer join дальше.


Отредактировано:

Я хотел бы сделать это следующим образом:

<id name="playerId" type="int" > 
      <column name="ID" precision="5" scale="0"/> 
      <generator class="sequence"> 
       <param name="sequence">PLAYER_SEQ</param> 
      </generator> 
     </id> 

     <set name="playerId" table="ANNUAL_FEE"> 
      <key column="PLAYER_ID"/> 
      <one-to-many class="model.AnnualFee" /> 
     </set> 

Но идея затем выдвигает на первый план getPlayerId() с:

«более одного атрибута, настроенного для поле 'getPlayerId' '

ответ

0
<many-to-one name="player" insert="false" update="false" class="model.Player" fetch="select"> 
    <column name="ID" not-null="true" /> 
</many-to-one> 

И добавить к AnnualFee не только int playerId но объект Player

public class AnnualFee { 
    private int id; 
    private Player player; 
//... 
Смежные вопросы