我用一个例子来描述我的问题吧。
例如user和order,用hibernate双向关联
user.orders = new ArrayList();
order.user = new User();
假设我想从数据库中取user数据。在双向关联的情况下我取出的数据是这样的。
//取数据
User user =getUser(id);
List<Order> orders = user.getOrders();
for(Order order : orders){
//问题出现了,我又可以获取到User,这意味着我可以重新从user取出Orders再次进行遍历
User user = order.getUser();
}
关于这个问题实际上是我在使用Gson将实体转换为json时发现的(它可以将任何属性转换为json,包括引用类型的),曾经也在toString()方法上发生过,但是只要删除toString()方法就可以解决。
关于这种问题有谁碰到过,是怎样解决的呢?