当我试图从我的应用程序中获取一个项目或项目列表时,我得到了一个java.lang.StackOverflowError例外。
我将 JPA 与 eclipselink 一起使用。
我得到以下堆栈跟踪:
java.lang.StackOverflowError
java.lang.StackOverflowError
at java.util.concurrent.ConcurrentHashMap$BaseIterator.<init>(ConcurrentHashMap.java:3391)
at java.util.concurrent.ConcurrentHashMap$ValueIterator.<init>(ConcurrentHashMap.java:3430)
at java.util.concurrent.ConcurrentHashMap$ValuesView.iterator(ConcurrentHashMap.java:4683)
at org.eclipse.yasson.internal.ComponentMatcher.searchComponentBinding(ComponentMatcher.java:187)
at org.eclipse.yasson.internal.ComponentMatcher.getSerializerBinding(ComponentMatcher.java:143)
at org.eclipse.yasson.internal.serializer.SerializerBuilder.build(SerializerBuilder.java:73)
at org.eclipse.yasson.internal.serializer.ObjectSerializer.marshallProperty(ObjectSerializer.java:102)
at org.eclipse.yasson.internal.serializer.ObjectSerializer.serializeInternal(ObjectSerializer.java:61)
at org.eclipse.yasson.internal.serializer.AbstractContainerSerializer.serialize(AbstractContainerSerializer.java:63)
at org.eclipse.yasson.internal.serializer.AbstractContainerSerializer.serializerCaptor(AbstractContainerSerializer.java:95)
我尝试了在多个网站上找到的多种解决方案:
json忽略
Jsonmanagedreference & Jsonbckreference
JsonIgnoreProperties
JsonIdentityInfo
实体图
即使上面列出的所有内容都应该工作,但它们似乎都没有工作。到目前为止,我发现的唯一“解决方案”是删除吸气剂,但这消除了建立双向关系的目的,因为您无法访问它们。
有谁知道我做错了什么,或者有人有其他可行的解决方案吗?
largeQ
相关分类