Paulo, faz o seguinte substitui essa tua linha var equipment:Equipment = equipmentIcons.getItemAt(i).equipment as Equipment;
por var equipment:Equipment = Equipament(equipmentIcons.getItemAt(i).equipment); e ve se dá erro na hora de executar. Esse cast com "as" retorna null se o tipo de dados for diferente, enquanto o cast que eu te passei dá um erro. Talvez ele possa estar retornando outra coisa que não seja um "Equipment". O que tu pode fazer é não fazer o cast e armazenar o equipment num Object e tentar acessar object.equipmentIcons. Issso que eu faria pra tentar ver o que está acontencendo realmente. Abraços! João Augusto blog.joaoaugusto.com.br Em 8 de abril de 2010 16:13, Paulo Kinzkowski Junior <[email protected]>escreveu: > Davidson, > > Valeu pela força ai, mas não é isso. > Tentei e continua a mesma coisa. > Mas alguma outra idéia? > > Em 8 de abril de 2010 15:32, デビデソヌ Davidson Silva < > [email protected]> escreveu: > > Você não esqueceu de colocar qual é a classe que receberá os dados >> ...(targetEntity = XPTO.class) >> Pode ser isso .... >> >> @ManyToOne(fetch = FetchType.LAZY, targetEntity = Equipment.class) >> >> Em 8 de abril de 2010 14:37, Paulo Kinzkowski Junior >> <[email protected]>escreveu: >> >>> É 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 [email protected] >>> Para sair da lista, envie um email em branco para >>> [email protected] >>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >>> >> >> -- >> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >> Para enviar uma mensagem, envie um e-mail para [email protected] >> Para sair da lista, envie um email em branco para >> [email protected] >> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >> > > -- > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > Para enviar uma mensagem, envie um e-mail para [email protected] > Para sair da lista, envie um email em branco para > [email protected] > Mais opções estão disponíveis em http://groups.google.com/group/flexdev > -- João Augusto Zaratine blog.joaoaugusto.com.br -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev To unsubscribe, reply using "remove me" as the subject.
