我打算在休眠中使用这个 StatelessSession 接口。但不知道这里解释的数据混叠效果是什么
问问题
1499 次
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 回答