gpt4 book ai didi

java - 使用 JPA 2.0 在 GAE 数据存储中执行一对一关系时出现 StackOverFlowError

转载 作者:行者123 更新时间:2023-12-01 14:31:12 24 4
gpt4 key购买 nike

我有两个表FolderVirtualSystemEntry我试图遵循这个Dataneclous Turorial但它总是会导致 StackOverFlowException 这里是我到目前为止尝试过的

文件夹.java

@Entity
public class Folder implements IsSerializable{

@Id
@Column(name = "fvseID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
private String fvseID;

@OneToOne
@JoinColumn(name="vseID")
private VirtualSystemEntry vse=new VirtualSystemEntry();
}

VirtualSystemEntry.java

@Entity
public class VirtualSystemEntry implements IsSerializable {

@Id
@Column(name = "vseID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
private String id;
String label, image, tooltip;


private int x, y, tray;

@OneToOne(mappedBy="vse")
Folder parent = new Folder();
}

异常跟踪的一部分

INTERNAL_SERVER_ERROR</pre></p><h3>Caused by:</h3><pre>java.lang.StackOverflowError
at java.util.Hashtable.get(Hashtable.java:334)
at java.util.Properties.getProperty(Properties.java:932)
at java.lang.System.getProperty(System.java:653)
at com.google.appengine.tools.development.agent.runtime.Runtime.checkRestricted(Runtime.java:63)
at com.cbd.shared.entities.VirtualSystemEntry.&lt;init&gt;(VirtualSystemEntry.java:28)
at com.cbd.shared.entities.Folder.&lt;init&gt;(Folder.java:27)
at com.cbd.shared.entities.VirtualSystemEntry.&lt;init&gt;(VirtualSystemEntry.java:28)
at com.cbd.shared.entities.Folder.&lt;init&gt;(Folder.java:27)
at com.cbd.shared.entities.VirtualSystemEntry.&lt;init&gt;(VirtualSystemEntry.java:28)
at com.cbd.shared.entities.Folder.&lt;init&gt;(Folder.java:27)
at com.cbd.shared.entities.VirtualSystemEntry.&lt;init&gt;(VirtualSystemEntry.java:28)
at com.cbd.shared.entities.Folder..... and so on

那么我在这里做错了什么?顺便说一句,我正在使用 GWT

最佳答案

因此,您的代码 VirtualSystemEntry(constructor) 正在调用您的代码 Folder(constructor),它会递归(并且您不提供这些方法的代码),可能这些类变量“parent”和“vse”的初始化...修复初始化;-)

关于java - 使用 JPA 2.0 在 GAE 数据存储中执行一对一关系时出现 StackOverFlowError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16855390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com