简体   繁体   中英

Stackoverflow exception in sts

I am getting the following exception while testing an API. using java specifications predicates join column in jpa

java.lang.StackOverflowError: null
    at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:125) ~[na:1.8.0_222]
    at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448) ~[na:1.8.0_222]
    at java.lang.StringBuilder.append(StringBuilder.java:136) ~[na:1.8.0_222]
    at java.util.SimpleTimeZone.toString(SimpleTimeZone.java:947) ~[na:1.8.0_222]
    at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_222]
    at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_222]
    at java.util.Calendar.toString(Calendar.java:3345) ~[na:1.8.0_222]
    at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_222]
    at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_222]
    at com.afcs.entity.TblWayBill.toString(TblWayBill.java:51) ~[classes/:na]
    at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_222]
    at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_222]
    at com.afcs.entity.TblTrip.toString(TblTrip.java:33) ~[classes/:na]
    at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_222]
    at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_222]
    at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[na:1.8.0_222]
    at org.hibernate.collection.internal.PersistentBag.toString(PersistentBag.java:510) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
    at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_222]
    at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_222]
    at com.afcs.entity.TblWayBill.toString(TblWayBill.java:51) ~[classes/:na]
    at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_222]
    at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_222]
    at com.afcs.entity.TblTrip.toString(TblTrip.java:33) ~[classes/:na]
    at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_222]
    at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_222]
    at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[na:1.8.0_222]

Even looking at your stack trace I can tell that you have a recursive toString() function implementation. Your object A.toString() calls B.toString(), which in turn calls A.toString() again and again. Usually, it happens when you have generated toString that calls another entity and that entity calls another entity. Make sure to exclude these attributes from your toString() method implementation and it will work as you expected.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM