8

我打算在休眠中使用这个 StatelessSession 接口。但不知道这里解释的数据混叠效果是什么

4

1 回答 1

7

考虑像这样的数据

table parent
id | name
---------
1  | 'foo'

table child
id | parent_id
--------------
1  | 1
2  | 1

和一个查询

session.query("from child").list();

那么以下将失败StatelessSession session但不会失败Session session

childs.get(0).getParent().setName("bar");

assertEqual("bar", childs.get(1).getParent().getName());

更新:

StatelessSession 不会“记住”它加载的对象,因此在脱水第二个孩子时,它不知道它已经创建了它所引用的父对象,并将创建另一个具有相同值但引用不同的父对象。

于 2012-11-28T08:19:37.173 回答