【发布时间】:2017-06-29 17:12:25
【问题描述】:
希望有人能指出正确的方向,为什么这不起作用:
Session session = factory.openSession();
session.refresh(customer);
session.close();
Boolean paid = customer.hasPaid();
if (paid) {
System.out.println("test1");
} else {
System.out.println("test2");
}
if (!paid && paymentInput.getRequestType() == PaymentInput.RequestType.NEW) {
session = factory.openSession();
Transaction tx = session.beginTransaction();
customer.setPaid(true);
customer.update(customer, customer.getId());
tx.commit();
session.close();
System.out.println("updated");
PaymentProcessor.pay(customer);
}
我想要的是第一个请求点击“test2”,然后是“更新”,以及所有其他请求点击“test1”并错过第二个条件。如果我当前彼此快速触发多个请求,它会点击“test1”并多次输入第二个条件。我在这里做错了什么?
【问题讨论】:
标签: java hibernate tomcat servlets