Tenho sim, eu uso o flamingo para fazer a integração do flex com o Jboss
Seam, e o flamingo aceita lazy.
Outra coisa que esqueci de mencionar é que se eu instanciar os objetos
Equipment e Icon e setalos depois de ter feito a pesquisa eu consigo
manusiar no flex perfeitamente.
Ex.:
@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();
for (int i = 0; i < equipmentIcons.size(); i++) {
Equipment equipment = new Equipment();
equipment.setEquipmentId(equipmentIcons.get(i).getEquipment()
.getEquipmentId());
equipment.setDescription(equipmentIcons.get(i).getEquipment()
.getDescription());
equipment.setCreationDate(equipmentIcons.get(i).getEquipment()
.getCreationDate());
equipment.setLastModifiedDate(equipmentIcons.get(i).getEquipment()
.getLastModifiedDate());
equipment.setEquipmentIcons(equipmentIcons);
equipmentIcons.get(i).setEquipment(equipment);
Icon icon = new Icon();
icon.setIconId(equipmentIcons.get(i).getIcon().getIconId());
icon.setDescription(equipmentIcons.get(i).getIcon()
.getDescription());
icon.setStatus(equipmentIcons.get(i).getIcon().getStatus());
icon.setEquipmentIcons(equipmentIcons);
equipmentIcons.get(i).setIcon(icon);
}
return equipmentIcons;
}
Em 8 de abril de 2010 17:42, Rafa Comim <[email protected]> escreveu:
> Você tem certeza de q isto está chegando no Flex?!
> Pq está tudo mapeado como lazy.
>
> Em 8 de abril de 2010 17:40, Paulo Kinzkowski Junior
> <[email protected]>escreveu:
>
>> Nada ainda pessoal!!!
>>
>> tentei isso:
>> var equipment:Equipment =
>> Equipment(equipmentIcons.getItemAt(i).equipment);
>>
>> E não da erro nenhum e continua vindo null.
>> Verifiquei todas as variaveis da classe e estão com os nomes idênticos.
>> Outra Idéia?
>>
>>
>> Em 8 de abril de 2010 16:49, RafaelViana <[email protected]> escreveu:
>>
>> Uma sugestão de teste:
>>>
>>> Verifique o nome das variaveis, inclusive diferenciação entre
>>> maiusculas/minusculas.
>>> Se estiver com algum caractere diferente o Java não conseguirá
>>> enxergar esse campo no Flex e vice-versa.Como consequencia o campo
>>> fica nulo.
>>>
>>>
>>>
>>> On 8 abr, 16:13, Paulo Kinzkowski Junior <[email protected]> wrote:
>>> > 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 emhttp://
>>> 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 emhttp://
>>> 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
>>>
>>> To unsubscribe, reply using "remove me" as the subject.
>>>
>>
>> --
>> 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
>>
>
>
>
> --
> ______________________
>
> Atenciosamente,
>
> Rafael Comim
>
> --
> 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