合并复杂对象时堆栈红色区域的访问无效

Posted

技术标签:

【中文标题】合并复杂对象时堆栈红色区域的访问无效【英文标题】:Invalid access of stack red zone when merging a complex object 【发布时间】:2012-03-07 07:33:58 【问题描述】:

我正在使用游戏!框架 1.2.4 用于将对象从外部上下文(实际上是 Flex)传递到服务的项目。 网关使用 cinnamon 框架 (http://www.spicefactory.org/pimento/) 来处理要路由到服务的 AMF 请求。

因此我收到了分离的对象,我试图通过简单地调用来避免进入复杂的合并问题:

JPA.em().merge(myObject)

它对简单对象有用,但是当涉及到更复杂的对象时,我遇到了以下错误,它只是关闭了服务器(这很顽皮)

Invalid access of stack red zone

这是我的 JPA 映射的简化概述

@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@DiscriminatorColumn(name = "templateType")
ProductTemplate extends GenericModel
 |- @OneToMany(mappedBy = "productTemplate", cascade = CascadeType.ALL)
 |  List<ProductTemplateLang> translations;
 |
 |  @MappedSuperclass
 |_ LayeredProductTemplate
     |
     | @Entity
     |_ Book
         |- @OneToMany(mappedBy = "book", cascade = CascadeType.ALL)
         |  List<BookPage> pages;

@Entity 
BookPage extends Model
 |- @OneToMany(mappedBy = "page", cascade = CascadeType.ALL)
 |  List<Layer> layers;

@Entity 
Layer extends Model
 |- @OneToMany(mappedBy = "layer", cascade = CascadeType.ALL)
 |  List<LayerLang> translations;

(我删除了大部分属性) 会不会是我收到的对象太复杂了?

我正在尝试手动完成所有操作,但也遇到了“找到同一个集合的两个表示”,这有点难以弄清楚......

非常感谢任何帮助、想法和指导!

谢谢

【问题讨论】:

【参考方案1】:

对于那些感兴趣的人,我必须手动合并所有内容才能让我的东西正常工作。 如果 Play 大师有解释/问题来解决这类问题,我仍然不回答这个问题。

干杯!

【讨论】:

以上是关于合并复杂对象时堆栈红色区域的访问无效的主要内容,如果未能解决你的问题,请参考以下文章

Java VM 对堆栈红色区域的无效访问

当我们有一个红色区域时,为啥我们需要堆栈分配?

IntelliJ git 合并工具

堆栈红色区域的实际大小是多少? [复制]

linux是不是在较低的堆栈端下方提供了保证的不可访问的内存区域?

S3 错误:使用嵌套堆栈部署 CFN 模板时访问被拒绝