Tôi đang sử dụng Hibernate 3.2.5. Tôi nhận được ngoại lệ trên trong khi sử dụng ánh xạ nhiều người. Bảng đào tạo có mối quan hệ nhiều với một với bảng Vụ, tức là Một Depatement có khả năng thực hiện nhiều hơn một khóa đào tạo.org.hibernate.MappingException: Cột lặp lại trong ánh xạ cho thực thể
Trường hợp ngoại lệ yêu cầu tôi thêm insert="false" update="false"
vào tệp hbm của tôi. Nếu tôi thêm bit này vào tệp hbm, thì mã hoạt động tốt.
Dưới đây là file hbm:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.infy.model.Training" table="training">
<id name="Id" type="integer" column="ID">
<generator class="assigned"></generator>
</id>
<property name="trainerName">
<column name="TRAINER_NAME"></column>
</property>
<property name="deptId">
<column name="DEPT_ID"></column>
</property>
<property name="trainingSubject">
<column name="TRAINING_SUBJECT"></column>
</property>
<many-to-one name="departmentDetails" column="DEPT_ID"></many-to-one>
</class>
</hibernate-mapping>
Nếu tôi thay đổi dòng này để:
<many-to-one name="departmentDetails" column="DEPT_ID" insert="false" update="false"></many-to-one>
Sau đó, các mã hoạt động. Tôi muốn biết lý do chính xác để thêm điều này là gì.
Kính trọng,