É verdade, imaginei que iria ficar difícil mesmo..... rsrsrsr Então abaixo está somente a parte que interessa do meu código:
EquipmentIcon.java public class EquipmentIcon implements Serializable { private Icon icon; private Equipment equipment; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "icon_id", nullable = false) @NotNull public Icon getIcon() { return this.icon; } public void setIcon(Icon icon) { this.icon = icon; } @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "equipment_id", nullable = false) @NotNull public Equipment getEquipment() { return this.equipment; } } Equipment.java public class Equipment implements Serializable { private List<EquipmentIcon> equipmentIcons = new ArrayList<EquipmentIcon>(); @OneToMany(fetch = FetchType.LAZY, mappedBy = "equipment", cascade = { CascadeType.PERSIST, CascadeType.MERGE }) @Cascade( { org.hibernate.annotations.CascadeType.SAVE_UPDATE, org.hibernate.annotations.CascadeType.DELETE_ORPHAN }) public List<EquipmentIcon> getEquipmentIcons() { return this.equipmentIcons; } public void setEquipmentIcons(List<EquipmentIcon> equipmentIcons) { this.equipmentIcons = equipmentIcons; } } Icon.java public class Icon implements Serializable { private List<EquipmentIcon> equipmentIcons = new ArrayList<EquipmentIcon>(); @OneToMany(fetch = FetchType.LAZY, mappedBy = "icon", cascade = { CascadeType.PERSIST, CascadeType.MERGE }) @Cascade( { org.hibernate.annotations.CascadeType.SAVE_UPDATE, org.hibernate.annotations.CascadeType.DELETE_ORPHAN }) public List<EquipmentIcon> getEquipmentIcons() { return this.equipmentIcons; } public void setEquipmentIcons(List<EquipmentIcon> equipmentIcons) { this.equipmentIcons = equipmentIcons; } } EquipmentService.java public class EquipmentService implements Serializable { @In private EntityManager entityManager; @SuppressWarnings("unchecked") public List<EquipmentIcon> openEquipmentIcon(Equipment equip) { List<EquipmentIcon> equipmentIcons = (List<EquipmentIcon>) entityManager .createQuery( "select ei from EquipmentIcon ei where ei.equipment.equipmentId = :equipmentId") .setParameter("equipmentId", equip.getEquipmentId()) .getResultList(); return equipmentIcons; } } EquipmentIcon.as package { [Bindable] [RemoteClass(alias="meuPacote.EquipmentIcon")] public class EquipmentIcon { public var equipment:Equipment; public var icon:Icon; public function EquipmentIcon() { } } } Equipment.as package { import mx.collections.ArrayCollection; [Bindable] [RemoteClass(alias="meuPacote.Equipment")] public class Equipment { public var equipmentIcons:ArrayCollection; public function Equipment() { } } } Icon.as package { import mx.collections.ArrayCollection; [Bindable] [RemoteClass(alias="meuPacote.Icon")] public class Icon { public var equipmentIcons:ArrayCollection; public function Icon() { } } } Depois que eu faço a busca eu consigo acessar a lista de objetos equipmentIcon e os objetos filhos no Java perfeitamente. Quando eu tento acessar a lista de objetos equipmentIcon no Flex eu consigo, mas os objetos filhos não, os objetos vem como null. Ex.: private function successOpenEquipmentIcon(event:ResultEvent):void { var equipmentIcons:EquipmentIcon = event.result as ArrayCollection; var equipment:Equipment = equipmentIcons.getItemAt(i).equipment as Equipment; var icon:Icon = equipmentIcons.getItemAt(i).icon as Icon; Alert.show("EquipmentIcon = " + equipmentIcons); // retorna "EquipmentIcon = [object EquipmentIcon]" Alert.show("Equipment = " + equipment); // retorna "Equipment null" Alert.show("Icon = " + icon); // retorna "Icon null" } Alguém já passou por isso? -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev To unsubscribe, reply using "remove me" as the subject.