在我的一个 Java 实体 (MyState) 中,我有一个对自身的引用。注释如下所示:
@OneToOne @JoinColumn(name = "previousStateId", nullable = true, foreignKey = @ForeignKey(name = "fk_state_previousstate"))private MyState previousState;
这曾经工作得很好,直到表格变大并且越来越多的状态相互指向。现在,当我尝试获取最新的 MyState 时,会发生 StackOverflowError,因为嵌套太深。有什么比这里更好的网站来问我的问题?;-)
我最终需要访问根状态(一长串状态中的第一个状态),以及前一个状态。
有什么办法可以避免获得所有参考资料?我试图添加一个指向原始状态的新字段“rootState”。这当然是 2 个状态的短链,所以效果很好。
但是,我确实也需要以前的状态。我应该尝试通过将 previousState 的 previousState 设置为 null 来手动中断链,还是有更好的选择?
天涯尽头无女友
www说
相关分类