SóProvas


ID
1731313
Banca
CESPE / CEBRASPE
Órgão
STJ
Ano
2015
Provas
Disciplina
Programação
Assuntos

Julgue o próximo item, relacionado ao funcionamento dos frameworks para a camada de persistência.

O Hibernate define um objeto transient com uma instância de um objeto que tenha persistido e que esteja em transição para consulta e utilização pela aplicação.

Alternativas
Comentários
  • Transient é uma instância que não está persistida.

  • Um objeto é dito transiente quando não tem representação no banco de dados e nem o EntityManager o conhece

  • Hibernate define e suporta os seguintes estados de objetos:
    Transient - um objeto é transiente se ele foi instanciando usando apenas o operador new e não foi associado a uma Session do Hibernate. Ele não possui uma representação persistente no banco de dados e não lhe foi atribuído nenhum identificador. Instâncias transientes serão destruídas pelo coletor de lixo se a aplicação não mantiver sua referência. Use uma Session do Hibernate para tornar o objeto persistente (e deixe o Hibernate gerenciar as instruções SQL que serão necessárias para executar esta transição). Persistent - uma instância persistente possui uma representação no banco de dados e um identificador. Ela pode ter sido salva ou carregada, portanto ela se encontra no escopo de uma Session. O Hibernate irá detectar qualquer mudança feita a um objeto persistente e sincronizar o seu estado com o banco de dados quando completar a unidade de trabalho. Desenvolvedores não executam instruções manuais deUPDATE, ou instruções de DELETE quando o objeto se tornar transiente. Detached – uma instância desanexada é um objeto que foi persistido, mas sua Session foi fechada. A referência ao objeto continua válida, é claro, e a instância desanexada pode ser acoplada a uma novaSession no futuro, tornando-o novamente persistente (e todas as modificações sofridas). Essa característica habilita um modelo de programação para unidades de trabalho de longa execução, que requeira um tempo de espera do usuário. Podemos chamá-las de transações da aplicação, ou seja, uma unidade de trabalho do ponto de vista do usuário.

    https://docs.jboss.org/hibernate/orm/3.5/reference/pt-BR/html/objectstate.html#objectstate-overview
  • Prezados,

    No transient o objeto não está associado a um objeto persistente. No estado transient ou o objeto acabou de ser criado ou foi deletado.

    Portanto a questão está errada.
  • Aluno a = new Aluno()

    @Entity

    class Aluno{

    }

    pronto, essa instancia aí está transient

    No caso, o estado do objeto da questão é MANAGED

  • transient - Uma nova instância de uma classe persistente, que não está associada a uma Sessão e não possui representação no banco de dados, e nenhum valor de identificador é considerado transitório pelo Hibernate.