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
<paulo...@gmail.com>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 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
>

-- 
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.

Responder a