日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SLF4J: Failed toString() invocation on an object of type [com.zhao.guang.xiao.top.po.BlogBean$Hibern

發布時間:2023/12/16 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SLF4J: Failed toString() invocation on an object of type [com.zhao.guang.xiao.top.po.BlogBean$Hibern 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

錯誤信息

SLF4J: Failed toString() invocation on an object of type [com.zhao.guang.xiao.top.po.BlogBean$HibernateProxy$GOvMqmkl] Reported exception: java.lang.StackOverflowErrorat com.zhao.guang.xiao.top.po.BlogBean.toString(BlogBean.java:21)at java.lang.String.valueOf(String.java:2994)at java.lang.StringBuilder.append(StringBuilder.java:131)at java.util.AbstractCollection.toString(AbstractCollection.java:462)at org.hibernate.collection.internal.PersistentBag.toString(PersistentBag.java:601)at java.lang.String.valueOf(String.java:2994)at java.lang.StringBuilder.append(StringBuilder.java:131)at com.zhao.guang.xiao.top.po.TypeBean.toString(TypeBean.java:17)at java.lang.String.valueOf(String.java:2994)at java.lang.StringBuilder.append(StringBuilder.java:131)at com.zhao.guang.xiao.top.po.BlogBean.toString(BlogBean.java:21)....

在stackoverflow官網看到了這篇錯誤的博客和我的錯誤信息是一致的網址為?https://stackoverflow.com/questions/57340306/slf4j-failed-tostring-invocation-on-an-object-of-type-lombok/57341984#57341984

?

我的解決辦法是文章的留言的這個辦法

You have a bidirectional reference between Department (you omitted that field in the code in your question) and Employee (via departments).Exclude one of these fields for the generated toString() (preferably the back-reference) using @ToString.Exclude.PS: You will probably run into a similar problem for equals and hashCode. Exclude it there too using @EqualsAndHashCode.Exclude.翻譯過來就是在department(您在問題的代碼中省略了該字段)和employee(通過departments)之間有一個雙向引用。 使用@tostring.exclude為生成的tostring()排除其中一個字段(最好是反向引用)。 注意:對于equals和hashcode,您可能會遇到類似的問題。也可以使用@equalsandhashcode.exclude排除它。

?

出現上面這個錯誤是因為

  • 實體類使用@Data注解來自動生成getset方法與toString方法
  • 實體類使用JPA方法來實現實體類之間的對應關系 一對一/一對多/多對多
  • 因為實體類對應關系,之間有一個雙向引用(我們看不到哪個字段,因為您省略了該字段,或者粘貼的代碼錯誤)。這兩個類中生成的toString()方法都無休止地相互調用。
  • 解決辦法使用Lombok的 @ToString.Exclude 來省略這個字段得toString()方法,如下

    ? ? ??

    ?

    然后再次訪問這個實體 ,因為不在對實體屬性進行toString()所以不會再進行重復調用,進而解決了這個問題

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    總結

    以上是生活随笔為你收集整理的SLF4J: Failed toString() invocation on an object of type [com.zhao.guang.xiao.top.po.BlogBean$Hibern的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。