.

7 respostas
everson_cardoso1

.

7 Respostas

newbcc

Olá Everson,

você terá uma detached instance, quando possuir um objeto que não faz parte de uma transação.

Por exemplo, é fácil você ter essa situação quando se trabalha com EJB, mais especificamente tratando-se de Session Beans

Em uma chamada ao EJB, você terá objetos attached instance toda vez que enviá-los através de parâmetros dos seus métodos de negócios, e que valerão apenas para a transação atribuída no momento de execução desse mesmo método.

Uma vez executada a operação com a base de dados, o objeto passará a ser detached instance, ou seja, não poderá ser utilizado em uma outra transação (não ser persistido), e sendo serializado de volta ao cliente.

Isso ocorre como uma forma de garantia de que o seu objeto será persistido durante uma única transação com a base de dados, uma vez que para cada chamada a um método de negócio do EJB, você possuirá uma única transação disponível para efetuar suas operações. A transação é fechada, à partir do momento que o seu método finalizar a execução.

Espero ter dado uma direção.

Abs!

Flavio_Almeida

detached object = um entidade que possui o campo id preenchido, mas que não está presente no contexto de persistência vigente.

É possível ter acesso não-transacional de proxies (pelo menos com a implementação do Hibernate), ou seja, a entidade é gerenciada fora de uma transação, o que não é uma boa prática.

Ser uma entidade detached não é uma falha, é algo esperado dentro da especificação.

Everson cardoso, não está claro para mim, mas me parece que você está se referindo ao erro do tipo “Detached entity passed to persist”, pois você utiliza o termo “falha”.

ViniGodoy

Tente colocar títulos mais descritivos para seu tópico. Um título como “O que é dettached instance?” é bem melhor do que “Dúvida simples”. Lembre-se que quem lê a lista de tópicos nem sempre vai entrar neles para descobrir seu conteúdo. Por isso, facilite para quem te responde. :wink:

everson_cardoso1

.

everson_cardoso1

.

everson_cardoso1

.

everson_cardoso1

:shock:

Criado 16 de maio de 2011
Ultima resposta 16 de mai. de 2011
Respostas 7
Participantes 4