A resposta é Transient e nao Detached
Pergunta: No banco de dados, temos um produto com id 1. Se o NHibernate ainda não carregou o objeto (não fizemos session.Get(1)), em qual estado está esse produto? • Persistent • Detached • Transient
Resposta errada:Quando o objeto tem uma representação no banco de dados (um registro na tabela), porém ainda não foi carregado pelo NHibernate, ele está no estado Detached. **A resposta acima nao condiz com a pergunta.
Resposta correta para a pergunta: O NovoUsuario não possui representação no banco de dados (nunca foi inserido) e nunca passou pelo ISession, objetos nessa situação, estão no estado Transient.
** Estado Detached sao para para objectos que pertencem a uma session que já foi fechada e nao como a pergunta que diz que ainda nem para pela Session!!!
**Ao fecharmos ISession, todos os objetos que estavam gerenciados continuam existindo no programa, porém não estão mais associados com uma sessão válida. Objetos nessa condição estão em um estado conhecido como Detached.