| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2011 16:38:05
|
raphaelcmacedo
Thread.start()
Membro desde: 14/04/2010 09:17:22
Mensagens: 40
Offline
|
Galera estou mudando o projeto aqui para Thread Local no hibernate. É um projeto utilizando Java e Flex. Para não entrar em maiores detalhes, toda vez que altero um objeto e o comito, busca novamente esse objeto no banco.
Tenho uma classe empenho que possui uma coleção de itens. Toda vez que incluo um novo item, quando volto à tela de empenho busco novamento o objeto empenho para que os dados do item recém incluido alimentem o Grid. Algumas vezes, não todas, na busca o objeto que acabei de incluir, alterar ou excluir não vem atualizado, quando saio da tela e volto (carrego novamente) ele vem correto acredito que seja alguem problema de controlo de transação na busca. Estou colocando abaixo o código de busca
Agradeço a qualquer ajuda
This message was edited 1 time. Last update was at 10/03/2011 13:07:34
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/03/2011 12:30:49
|
victorwss
JWizard
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline
|
Para que serve o parâmetro s se você usa getSession() dentro do método ou seta a sessão com o seu sapiturSF.getInstance()? Em lugar nenhum você usa o parâmetro s.
Porque você usa em um ponto getSession().getTransaction() e em outro usa getTx()? Isso não pode te dar um resultado inconsistente?
E eu otimizaria este código evitando repetições (e talvez você acabe matando alguns bugs ao fazer isso).
Por exemplo, isto daqui:Pode ser simplificado nisso:E isto daqui:Pode ser simplificado nisso:
|
Victor Williams Stafusa da Silva
Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.
É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).
Se você escreve "concerteza", "concerteza" você andou matando aulas de português. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/03/2011 07:49:50
|
raphaelcmacedo
Thread.start()
Membro desde: 14/04/2010 09:17:22
Mensagens: 40
Offline
|
Ah sim claro, esqueci de comentar que realmente o parametro Session s não está sendo usado.
Esse parametro era usado na arquitetura antiga, que estava bem errada com dois métodos uma passando a Session e outro não.
Até depois resolvi usar, para não ficar tão diferente de como estava antes, a diferença é que se o cara já passar a sessão, eu não limpo não comito nem nada. Como estava tentando fazer o código funcionar não me preocupei mto com a organização. Mas, agora pelo menos com essas modificações "parece" estar funcionando:
Agora é testar e ver se funciona mesmo, qualquer coisa posto aqui. Obrigado
This message was edited 1 time. Last update was at 10/03/2011 08:20:39
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/03/2011 13:10:11
|
raphaelcmacedo
Thread.start()
Membro desde: 14/04/2010 09:17:22
Mensagens: 40
Offline
|
Galera, tá resolvido. Parece que o flush que o commit dá não estava funcionando em todos os casos, foi só dar um flush nas sessões dirty que funcionou. Vou colocar aqui a solução, caso venha ajudar alguem:
|
|
|
 |
|
|
|
|