這是我的代碼插入到兩個表中。但它給了我一個錯誤「批量更新返回意外的行數從更新[0];實際行數:0;預期:1」爲什麼session.save()引發更新查詢?
Session session = sessionFactory.getCurrentSession();
ProfileDTO profile = new ProfileDTO();
profile.setCustomerID(1);
profile.setProfileName(profileName);
profile.setProfileType(profileType);
profile.setRecordId(9);
session.save(profile);
int profileID = profile.getRecordId();
CustomerMeasurementsDTO measurement = new CustomerMeasurementsDTO();
String ids[] = profileidsString.split(",");
String vals[] = profilevalsString.split(",");
for (int i = 0; i < ids.length ; i++){
measurement.setMeasurementId(ids[i]);
measurement.setMeasurementValue(vals[i]);
measurement.setCustMeasurementsProfileId(profileID);
session.save(measurement);
};
在執行時,它給出了這樣的記錄目的。
Hibernate:
/* insert com.domain.CustomerMeasurementsDTO
*/ insert
into
cust_measurements
(cust_measurements_record_id, last_modified, measurement_id, measurement_value, measurement_record_id)
values
(?, ?, ?, ?, ?)
Hibernate:
/* update
com.domain.CustomerMeasurementsDTO */ update
cust_measurements
set
cust_measurements_record_id=?,
last_modified=?,
measurement_id=?,
measurement_value=?
where
measurement_record_id=?
我希望它再次進行插入查詢,而它試圖更新。請幫我,我錯了。
我試過,但現在它給了我 「一個具有相同標識符值的不同對象已經與會話相關聯」 我真的不明白這些錯誤的含義是什麼。請你能解釋我。 – 2012-03-08 21:38:48