Bom dia a todos, estou com um problema aqui que parecia ser simples mais que estou penando pra resolver, eu possuo uma Lista de objetos chamado “pList” que é uma Lista da classe PacienteAtendExame, e preciso “setar” um valor para ela para poder jogar esse valor porteriormente em uma tela, só que somente ao setar o valor nesse objeto, ele esta salvando “sozinho” na tabela PacienteAtendExame e isso não deveria ocorrer. segue o código
cara dentro duma transaction, depois que vc fez load ou merge de um objeto ou lista eles estao managed, entao no commit ele ja ve os dados que foram modificados e solta updates, nem precisa do save ou update.
nao entendi direito o q vc qer fazer, tipo tem 2 transactions?
explicar melhor
valeu
Marky.Vasconcelos
Seu Hibernate esta configurado com auto commit?
Se sim, ele faz isso mesmo.
P
Porcojava
vitenho:
cara dentro duma transaction, depois que vc fez load ou merge de um objeto ou lista eles estao managed, entao no commit ele ja ve os dados que foram modificados e solta updates, nem precisa do save ou update.
nao entendi direito o q vc qer fazer, tipo tem 2 transactions?
explicar melhor
valeu
é que é o seguinte…esses dados que fazem parte dessa lista de objetos chamdos de “pList” ja estão armazenados em banco…tds os campos preenchidos menos o campo “resultado” este esta em branco, esse campo resultado é setado no objeto neste trecho de codigo q eu mostrei, só que antes de salva-lo em banco o usuario devera conferir esses resultados e se estiver td certo dará um “ok” e ai sim o resultado seria salvo em banco, fazendo um update no registro e o camporesultado q estava em branco agora teria o resultado q foi setado…
o q esta acontecendo é…assim q eu seto o “resultado” no objeto para ele ser mostrado na tela ele ja esta salvando em banco…antes do usuario dar o “ok”
Marky.Vasconcelos
Pergunto denovo, seu hibernate esta configurado para ser auto-commit?
Se sim, ele envia todos os dados quando voce faz set de um bean no estado Managed.
P
Porcojava
esta sim…
mesmo sendo esse o comportamento dele vc tem alguma dica pro meu problema?
Marky.Vasconcelos
Entao, ou voce remove o auto-commit, ou se nao me engano voce precisa passar o objeto como parametro para o método evict da Session.
Não lembro exatamente, mas acredito que retirar auto-commit seja ideal, voce nao precisa dele ligado, voce pode fazer varios inserts depois dar o commit de uma vez só.
P
Porcojava
Marky.Vasconcelos:
Entao, ou voce remove o auto-commit, ou se nao me engano voce precisa passar o objeto como parametro para o método evict da Session.
Não lembro exatamente, mas acredito que retirar auto-commit seja ideal, voce nao precisa dele ligado, voce pode fazer varios inserts depois dar o commit de uma vez só.
o problema e q nao posso remover esse auto-commit por causa de outros metodos… =/
Marky.Vasconcelos
Entao faça a consulta como EAGER e remova-os com evict da sessao e depois feche a sessão.
Talvez não precise de tudo isso mas acredito que ira resolver.