我想在數據庫中更新一些表,並希望所有這些工作都在1個事務中完成, 首先我刪除branchbuildin(表)中的一些條目並在此操作後插入新的一個 問題當我插入和輸入相同的buildingname和branch_fk(因爲我在這張表上有這個約束(uniqueConstraints = {@ UniqueConstraint(columnNames = {「buildingname」,「branch_fk」})}))但是當我不使用休眠會話和使用正常的JDBC事務我沒有這些問題。休眠事務重複問題
List<Integer> allBranchBuilding = branchBuildingDao.getAllBranchBuildingID(pkId, sess);
for (Integer integer : allBranchBuilding) {
branchBuildingDao.delete(integer, sess); // delete kardane tamame BranchBuilding ha va tel haie aanha
}
Address myAdr = new Address();
setAddress(myAdr, centralFlag, city, latit, longit, mainstreet, remainAdr, state);
BranchBuildingEntity bbe = new BranchBuildingEntity();
setBranchBuildingEntity(bbe, be, myAdr, city, centralFlag, latit, longit, mainstreet, buildingName, remainAdr, state, des);
branchBuildingDao.save(bbe, sess);//Exception Occurred
我在第一個方法讓我的會議:
Session sess = null;
sess = HibernateUtil.getSession();
Transaction tx = sess.beginTransaction();
Tanx但如果我會話會話,然後我的連接CUTOFF執行刷新後事務回滾會發生什麼? 我需要在一次事務中完成所有工作(我可以在它們之間使用flush,並且會傷害事務回滾並提交?) – Am1rr3zA 2009-08-01 16:28:41