我正在使用play!框架1.2.4,将对象从外部上下文(实际上是Flex)传递到服务。网关使用肉桂框架(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;
(我删除了大部分属性)这可能是因为我收到的对象太复杂了吗?
我试着用手做每件事,但也遇到了"发现同一集合的两个表示",这有点难弄清楚。。。
非常感谢您的帮助、想法和指导!
感谢
对于那些感兴趣的人,我必须手动合并所有内容才能让我的东西正常工作。我仍然让这个问题没有答案,以防游戏大师有解释/问题来解决这种问题。
干杯!