什么是hibernate中的数据别名效果?

ruw*_*era 8 hibernate

我正计划在hibernate中使用这个StatelessSession接口.但是不知道这里解释的数据混叠效应是什么

Fir*_*iro 7

考虑数据

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

table child
id | parent_id
--------------
1  | 1
2  | 1
Run Code Online (Sandbox Code Playgroud)

和一个查询

session.query("from child").list();
Run Code Online (Sandbox Code Playgroud)

然后以下将失败,StatelessSession session但不是Session session

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

assertEqual("bar", childs.get(1).getParent().getName());
Run Code Online (Sandbox Code Playgroud)

更新:

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