zoukankan      html  css  js  c++  java
  • hibernate报错 java.lang.StackOverflowError: null

    在使用hibernate时,报错

    java.lang.StackOverflowError: null

    把当前线程的栈打满了

    java.lang.StackOverflowError: null
        at java.util.AbstractCollection.toString(AbstractCollection.java:454) ~[?:1.8.0_111]
        at org.hibernate.collection.internal.PersistentBag.toString(PersistentBag.java:538) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
        at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_111]
        at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_111]
        at com.crhms.seabow.model.User.toString(User.java:12) ~[classes/:?]
        at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_111]
        at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_111]
        at com.crhms.seabow.model.Role.toString(Role.java:12) ~[classes/:?]
        at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_111]
        at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_111]
        at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[?:1.8.0_111]
        at org.hibernate.collection.internal.PersistentBag.toString(PersistentBag.java:538) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
        at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_111]
        at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_111]
        at com.crhms.seabow.model.User.toString(User.java:12) ~[classes/:?]
        at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_111]
        at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_111]
        at com.crhms.seabow.model.Role.toString(Role.java:12) ~[classes/:?]
        at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_111]

    查了一下原因,应该是出现在实体的toString方法上,如果存在关联属性(1对多等),不能加入到toString方法中,否则出现,你打印我,我打印你,一直打下去。

    虽然我的代码中没有写toString方法,但是我们的lombok的Data注解,它自带了toString,只能重写toString方法,覆盖lombok的toString方法。

    问题解决。

  • 相关阅读:
    jackson 解析json含有不规则的属性的json字符串的方法
    swift入门-实现简单的登录界面
    github git.exe位置
    linux之SQL语句简明教程---IN
    怎么样才算是精通 C++?
    BZOJ2028: [SHOI2009]会场预约(set)
    BZOJ1058: [ZJOI2007]报表统计(set)
    洛谷P2391 白雪皑皑(并查集)
    BZOJ4514: [Sdoi2016]数字配对(费用流)
    BZOJ3143: [Hnoi2013]游走(期望DP 高斯消元)
  • 原文地址:https://www.cnblogs.com/hankuikui/p/10515137.html
Copyright © 2011-2022 走看看