Недопустимый доступ к красной зоне стека при объединении сложного объекта - PullRequest
1 голос
/ 16 февраля 2012

Я использую игру! Framework 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 Ответ

0 голосов
/ 16 февраля 2012

Для тех, кому интересно, мне пришлось объединить все вручную, чтобы мои вещи заработали. Я до сих пор оставляю этот вопрос без ответа, если у гуру игры есть объяснение / вопрос для продвижения вперед в решении этой проблемы.

Ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...