hibernate框架对象双向关联所造成的对象相互引用。

新手上路,请多包涵

我用一个例子来描述我的问题吧。

例如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()方法就可以解决。
关于这种问题有谁碰到过,是怎样解决的呢?

阅读 2.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进