Hi every body! I'm a newbie in Hibernate and I have a problem in many-many relation. Please help me!
I have 3 file config like this:
Code:
<hibernate-mapping package="com.ise.dbmapping">
<class name="Dokho" table="dokho">
<id name="iddokho" column="idDoKho" type="java.lang.String">
<generator class="assigned"/>
</id>
<property name="tendokho" column="tenDoKho" type="java.lang.String" />
<property name="mota" column="moTa" type="java.lang.String" />
<set name="kynang"
table="kynang_dokho"
lazy = "false"
inverse="false"
sort = "unsorted"
>
<key column="iddokho"/>
<many-to-many class="Kynang"
column="idKynang"
outer-join="auto"/>
</set>
</class>
</hibernate-mapping>
Code:
<hibernate-mapping package="com.ise.dbmapping">
<class name="Kynang" table="kynang">
<id name="idkynang" column="idKyNang" type="java.lang.String">
<generator class="assigned"/>
</id>
<property name="tenkynang" column="tenKyNang" type="java.lang.String" />
<property name="soluongcauhoi" column="soLuongCauHoi" type="java.lang.Integer" />
<class="Phanthi" not-null="true" />
<set name="dokho"
table="kynang_dokho"
lazy = "false"
inverse="false"
sort = "unsorted">
<key column="idkynang"/>
<many-to-many class="Dokho"
column="idDokho"
outer-join="auto"/>
</set>
</class>
</hibernate-mapping>
Code:
<hibernate-mapping package="com.ise.dbmapping">
<class name="KynangDokho" table="kynang_dokho">
<composite-id name="id" class="KynangDokhoKey">
<key-many-to-one name="dethi" column="iddethi" class="Dethi"/>
<key-many-to-one name="dokho" column="iddokho" class="Dokho"/>
<key-many-to-one name="kynang" column="idkynang" class="Kynang"/>
</composite-id>
<property name="soluongcauhoi" column="soluongcauhoi" type="java.lang.Short" />
</class>
</hibernate-mapping>
When I try to get property "soluongcauhoi" from the link table (kynangdokho), it always return "soluongcauhoi" from table "kynang" (or sum of all "soluongcauhoi" in table "kynangdokho" - I'm not sure because my logic were that). I can't get value of property "soluongcauhoi" from kynangdokho.
Two column "soluongcauhoi" in table kynang and kynangdokho have a differrent meaning in my project.
Please show me where I was wrong and how can I fix it?
Best regards!