hibernate出现java.lang.StackOverflowError报错

hibernate进行一对多或者多对一进行查询时,程序会报出如下

java.lang.StackOverflowError
	at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:675)
	at java.lang.StringBuilder.append(StringBuilder.java:208)
	at com.qidi.Customer.toString(Customer.java:21)
	at java.lang.String.valueOf(String.java:2994)
	at java.lang.StringBuilder.append(StringBuilder.java:131)
	at com.qidi.Con_person.toString(Con_person.java:25)
	at java.lang.String.valueOf(String.java:2994)

最主要看这个:

java.lang.StackOverflowError

报错的原因是内存泄漏的问题。产生的原因在于你在生成tostring方法的时候,使用了默认方法。
就比如我出现下面的错误:
在这里插入图片描述
在图片中我使用到用集合的方法存多的一方Con_person类,然后生成的tostring方法中就有用到linkmans这个实体类对象,而我们进行查询的时候就包含到linkmans实体类对象没有被tostring所涵盖,故造成内存泄漏的问题。

解决方法:
就比如我的例子:
在tostring方法中,把关于集合的实体类对象,即linkMans去掉即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值