| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/02/2009 08:06:53
|
felipeguerra
GUJ Ranger
Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline
|
thimor wrote:eu estou usando toplink essentials. Ele funciona, porem nos selects quando tento acessar colecoes que estao no objeto ocorre o erro. Verifiquei na net que eh um problema da implementacao da jpa. E tem algumas solucoes paliativas como o Open Session In View ou Spring. Gostaria apenas de saber se esta eh uma delas. Se eu usar a seguinte arquitetura:
(JSF - Controle - Banco) funciona perfeitamente sem as "pogs". Mas gostaria de utilizar isso desacoplado entao preciso de Solucoes alternativas. Minha arquitetura esta assim:
(JSF - Controle - Ejb3 - Banco).
Na parte de EJB3 tenho uma Interface Generica e uma implementacao da interface generica.
DaoGenerico e DaoGenericoImpl e os EJBs herdam essa interface na Remote e a implementacao no @Stateless. Seria isso o problema?
1º - Qual o tipo de relacionamento?
2º - O carregamento das suas coleções tem que ser preguiçoso?
3º - Open Session In View Usando EJB? Não faz sentido, certo?
4º - A implemenetação dos seus DAOs não é a questão.
Só para exemplificar o que eu tinha dito anteriormente.
Digamos que vc tem duas classes:
|
"Antes da iluminação cortar lenha, carregar água. Depois da iluminação cortar lenha, carregar água..." |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/02/2009 20:38:04
|
thimor
JavaTeenager
![[Avatar]](/images/avatar/154860e7d6c1a90ff1fd9f6c8b209054.png)
Membro desde: 20/03/2007 17:53:08
Mensagens: 190
Localização: Natal
Offline
|
Eu entendo perfeitamente. Mas seu exemplo se aplica apenas usando Hibernate. Eu nao estou usando Hibernate.
Eu tenho a seguinte situacao:
quando eu seleciono o pedido acesso normalmente os dados da entidade como id, data e outro que seja. Mas quando eu tento acessar seus itens me retorna uma exception
avax.faces.FacesException: Exception [TOPLINK-7242] (Oracle TopLink Essentials - 2.0 (Build b41-beta2 (03/30/2007))): oracle.toplink.essentials.exceptions.ValidationException Exception Description: An attempt was made to traverse a relationship using indirection that had a null Session. This often occurs when an entity with an uninstantiated LAZY relationship is serialized and that lazy relationship is traversed after serialization. To avoid this issue, instantiate the LAZY relationship prior to serialization.
|
Quem ensina, exercita seu conhecimento. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2009 08:28:44
|
felipeguerra
GUJ Ranger
Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline
|
Qual o equivalente daquele método no TOPLINK? Eis a questão! Outra coisa, o que importa é a especificação, quem implementa não deveria ser o problema...finalmente, Pedidoproduto não pode ter o carregamento preguiçoso, uma alternativa é montar uma HQL usando JOIN.
This message was edited 1 time. Last update was at 12/02/2009 08:29:23
|
"Antes da iluminação cortar lenha, carregar água. Depois da iluminação cortar lenha, carregar água..." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2009 09:00:29
|
thimor
JavaTeenager
![[Avatar]](/images/avatar/154860e7d6c1a90ff1fd9f6c8b209054.png)
Membro desde: 20/03/2007 17:53:08
Mensagens: 190
Localização: Natal
Offline
|
Pelo arquivo que li no site do hibernate teoricamente eu posso fazer assim:
onde o Session faz parte do pacote do toplink. Porem os metodos dessa camada Session nao sao muito intuitivos e estou sem a api. Tenho que testar. Mas vou procurar no site da oracle. Pelos testes que fiz a unica forma de deixar funcionando sem problema nenhum eh utilizar apenas duas camadas. A aprentacao que no meu caso eh JSF e o ManagedBean fazendo a persistencia e o controle de transacao. Assim da 100% certo.
|
Quem ensina, exercita seu conhecimento. |
|
|
 |
|
|