日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2023/12/16 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

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