Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > hibernate, many-to-many, добавить связь


Автор: Adept 5.2.2007, 14:14
Есть две таблицы tbUsers и tbTasks, отношение многие ко многим.
tbUsers
UID(PK)
DID
.....

tbTasks
TID(PK)
....

и таблица ассоциаций UserTask
UID
TID
Сделал маппинг, все работает. Теперь мне надо изменить, т.е. в таблицу UserTask надо добавить поле DID связанное с DID из табл. tbUsers
Чегото я неправильно делаю, подскажите как правильно.
Вот работающий маппинг
user.hbm.xml

Код

<?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 auto-import="true" default-lazy="false">
    <class name="springdb.model.User" table="tbUsers" schema="dbo" catalog="WebminDB">
        <id name="uid" type="java.lang.Long">
            <column name="UID" precision="18" scale="0" />
            <generator class="increment" />
        </id>
        <many-to-one name="department" class="springdb.model.Department">
            <column name="DID" precision="18" scale="0" not-null="true" />
        </many-to-one> 
        <set name="tasks" table="tbTaskUser" inverse="false" cascade="all">
            <key column="UID"/>  
            <many-to-many column="TID" class="springdb.model.Task" outer-join="auto"/>
        </set>        
        .......    
    </class>
</hibernate-mapping>


task.hbm.xml

Код

<?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="springdb.model.Task" table="tbTasks" schema="dbo" catalog="WebminDB">
        <id name="tid" type="java.lang.Long">
            <column name="TID" precision="18" scale="0" />
            <generator class="increment" />
        </id>
        <set name="users" table="tbTaskUser" inverse="true" cascade="all">
            <key column="TID"/>
            <many-to-many column="UID" class="springdb.model.User" outer-join="auto"/>
        </set> 
        .....       
     </class>
</hibernate-mapping>



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)