【发布时间】:2013-03-05 10:22:55
【问题描述】:
假设我们有一个使用 Hibernate 的 Web 应用程序。 我的问题是,如果来自不同用户的两个不同交易访问和操作同一个实体,会发生什么?例如,我们有一个名为“Student”的实体,它有一个字段“age”。现在,来自不同用户的两个不同事务,使用 Hibernate 会话获取该实体,例如:
Student student = session.load(1); // 1 is the id of some student
然后一位用户操作年龄字段,例如: 学生.setAge(12); 第二个用户是否完全在另一笔交易中看到了这种变化? 我的意思是如果第二个用户在他自己的事务中调用 学生.getAge(), 他看到新值 - 12 了吗? 请注意,更改年龄属性的第一个用户尚未提交事务。
【问题讨论】:
-
提供完整的程序以获得清晰的想法。一般在一个web应用中,两个不同的事务会使用
Student实体的两个不同的对象。