java - sts 中的 Stackoverflow 异常

标签 java jpa predicate

我在测试 API 时遇到以下异常。使用java规范谓词连接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]

最佳答案

即使查看您的堆栈跟踪,我也可以看出您有一个递归 toString() 函数实现。您的对象 A.toString() 调用 B.toString(),而 B.toString() 又一次又一次地调用 A.toString()。通常,当您生成调用另一个实体的 toString 并且该实体调用另一个实体时,就会发生这种情况。确保从 toString() 方法实现中排除这些属性,它将按您的预期工作。

关于java - sts 中的 Stackoverflow 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57716347/

相关文章:

mysql - Hibernate Criteria Query 使用 MySQL REPLACE 和 CONCAT 函数

ios谓词一对多

c# - 将 List.FindAll() 与 lambda 一起使用的 VB.NET 语法是什么?

java - 如何从 Windows 10 PC 卸载 Java 辅助技术 - AccessBridge 的损坏副本

java - 设计 JSON api 时的内部对象表示

java - JPA 中的 "circular references"是反模式吗?

sql - 更新语句中的冗余数据

java - 检查参数化谓词之间的相等性

java - 如何使用 HERE map android SDK 取消选择标记

java - 如何让 child 在 Maven 中拥有与 parent 不同的依赖关系?