Hibernate中一对多关联映射时,查询某个对象报 java.lang.StackOverflowError错误

在Hibernate框架中,一对多关系映射导致查询对象时出现`java.lang.StackOverflowError`错误。问题源于对象的toString()方法递归调用过深。解决方案包括:1) 删除所有领域对象的toString()方法,但会导致打印结果仅为内存地址;2) 修改其中一个对象的toString()方法,移除对方对象的属性引用,避免无限递归。
摘要由CSDN通过智能技术生成

(Hibernate框架 一)

以客户和订单为例,模拟一对多关系映射

客户领域对象:(提供 setter();和getter();函数,以及toString()方法)

    private Integer id;

    private String name;

    // 客户对应多个订单 (订单不能重复)
    private Set<Order> orders = new HashSet<Order>();

    ......

    @Override
    public String toString() {
        return "Customer [id=" + id + ", name=" + name + ", orders=" + orders
                + "]";
    }

订单领域对象:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值