Questão FC373649
Considere o método abaixo, presente em uma aplicação que utiliza Hibernate 4.3 original, executado em condições ideais. private void createAndStoreEvent(Processo p) { Session sessi
Frameworks para Desenvolvimento
FCC · 2022
Considere o método abaixo, presente em uma aplicação que utiliza Hibernate 4.3 original, executado em condições ideais.
private void createAndStoreEvent(Processo p) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
I ;
session.getTransaction().commit();
}
Para salvar o objeto p na tabela do banco de dados utiliza-se, na lacuna I, a instrução
- session.save(p)
- session.deploy(p)
- session.add(p)
- session.persite(p)
- session.send(p)
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
session.save(p) é a chamada apropriada para persistir o objeto p usando a API do Hibernate. Esse método converte a instância do estado transient para persistent na Session.
Ao invocar save dentro da transação (após beginTransaction()), o Hibernate registra a entidade para inserção; o comando SQL de INSERT ocorre no momento do flush/commit, quando a sessão sincroniza o contexto com o banco.
Além disso, save pode retornar o identificador gerado (tipo Serializable), garantindo que a entidade passe a ter sua chave primária imediatamente disponível na sessão.
Em resumo: em Hibernate 4.3, dentro de uma transação ativa, session.save(p) é a forma correta e direta de solicitar a gravação de p no banco.
Conteúdo do catálogo FC Concursos · Atualizado em