Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hibernate: связь между таблицами не по ключю 
:(
    Опции темы
_sten_
  Дата 23.6.2008, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 29.9.2006

Репутация: 3
Всего: 3



 Вобщем есть маппинг:
Код

<class name="org.db.Queue" table="QUEUE">
<composite-id name="id" class="org.db.AgreementId">
            <key-property name="contragentId" type="java.lang.Long">
                <column name="CONTRAGENT_ID"/>
            </key-property>
            <key-property name="taxCode" type="string">
                <column name="CUSTOMER_TAX_CODE" length="10"/>
            </key-property>
            <key-property name="agreementNo" type="string">
                <column name="AGREEMENT_NO" length="32"/>
            </key-property>
        </composite-id>

        <property name="contragentShortName" type="string">
            <column name="CONTRAGENT_SHORT_NAME" not-null="true"/>
        </property>

     
   </class>


и 

Код

<class name="org.db.CustomerPhone" table="CUSTOMER_PHONE" >
        <id name="id" type="java.lang.Long">
            <column name="ID" precision="22" scale="0"/>
            <generator class="sequence">
                <param name="sequence">SEQ_CUSTOMER_PHONE</param>
            </generator>
        </id>

        <property name="taxCode" type="java.lang.String">
            <column name="TAX_CODE" length="10" not-null="true"/>
        </property>

       <property name="phone" type="string">
            <column name="PHONE" length="128" not-null="true"/>
        </property>
</class>


 как видно из маппинга две таблици между собой никак не связаны.  Вопрос в том как в Queue добавить коллекцию CustomerPhone, связанную по TAX_CODE. Тоисть сделать чтото подобное:
Код

       <set name="phones">
            <key column="tax_code"/>
            <one-to-many class="org.db.CustomerPhone"/>
        </set>


проблема в том что хибернет пытается сравнить tax_code из таблици CUSTOMER_PHONE и первичный ключ который композит ид... как задать маппинг что бы hibernate соиденял только по tax_code??? Проблема еще усложняется тем что у Queue композит ид
--------------------
WARNING: Condition 'to_be || !to_be' is always 'true' !
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0392 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.