我有一个JAVA代码,
synchronized (this.getClass())
{
System.out.println("stsrt");
certRequest.setRequestNbr(
generateRequestNumber(
certInsuranceRequestAddRq.getAccountInfo().getAccountNumberId()));
System.out.println("outside funcvtion"+certRequest.getRequestNbr());
reqId = Utils.getUniqueId();
certRequest.setRequestId(reqId);
System.out.println(reqId);
ItemIdInfo itemIdInfo = new ItemIdInfo();
itemIdInfo.setInsurerId(certRequest.getRequestId());
certRequest.setItemIdInfo(itemIdInfo);
dao.insert(certRequest);
addAccountRel();
System.out.println("end");
}
现在假设我收到来自两个线程的调用,用于此代码。我想要我的 dao.insert(certRequest);
应该在我的第二个线程到来之前提交。我是 Spring 和 Hibernate 的新手。谁能建议如何实现这一点。
最佳答案
Hibernate 将尊重您调用 insert 方法的顺序,但如果您想使用第二个线程读取提交的值,您可能必须刷新 session :
getCurrentSession().flush()
关于java - 同步数据提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31968672/