0
我們在我們的Java應用程序中使用TopLink 9.0.3.7。我最近添加了兩個我想保存的新表。我將它與一些能夠正確保存的類似表格進行比較,並且所有內容看起來都是一樣的。我比較了TopLink Mappling WorkBench 9.0.3.5創建的描述符,它們也顯示相同。TopLink不保存
從我們的Action類
submissionDao.transaction(sessionInfo.getClerkReviewSubmission(),
new TransactionBlock<ClerkReviewSubmission>() {
public void merge(ClerkReviewSubmission detached,
ClerkReviewSubmission managed) {
ClerkReviewTask task = mergeTask(new ClerkReviewTask(),
myForm);
for(ClerkReviewCase crCase: sessionInfo.getClerkReviewSubmission().getCases()){
createCaseTask(crCase, task);
}
}
});
private final ClerkReviewCaseTask createCaseTask(ClerkReviewCase crCase,
ClerkReviewTask task) {
ClerkReviewCaseTask caseTask = new ClerkReviewCaseTask();
caseTask.setClerkReviewCase(crCase);
caseTask.setTask(task);
crCase.getCaseTasks().add(caseTask);
task.getCaseTasks().add(caseTask);
return caseTask;
}
從我們BaseDAO類
public T transaction(T detached, TransactionBlock transactionBlock) throws BadDBConnection {
Session session = centralSourceInjector.inject();
UnitOfWork uow = session.acquireUnitOfWork();
try {
T managed = (T)uow.registerObject((T) detached);
transactionBlock.merge(detached, managed);
uow.commit();
session.refreshObject(detached);
return managed;
} catch(OptimisticLockException ole){
uow.rollbackTransaction();
throw ole;
} finally {
uow.release();
}
}
當我調試,我伸進BaseDAO類和所有我在日誌中看到的是:
的UnitOfWork (3889394) - 開始工作單元承諾 ClientSession(5022219) - 連接(7034305) - 開始事務 ClientSession(5022219) - 連接(7034305) - 提交事務 的UnitOfWork(3889394) - 工作的端部提交 的UnitOfWork(3889394) - 工作
任何建議或指導的釋放單元,將不勝感激。