insira seu código aqui
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
insira seu código aqui
Oi Marília, tudo bom?
A resposta simples pra isso é: porque o framework utiliza propriedades virtuais para realizar o lazy loading =)
A resposta mais elaborada é porque normalmente, quando puxamos a entidade do banco, não precisamos da entidade toda. Por isso o framework traz apenas o ID populado! (lazy loading) O resto ela carrega apenas quando você tenta usar (normalmente quando utilizamos o GET da nossa property).
Por baixo dos panos, o nhibernate vai mapear suas propertys com o respectivo atributo e realizar a injeção de Proxy Objects que, quando acessados são trocados pelos dados que você quer =)
Tornar a property virtual possibilita essa "magica"!
Espero ter esclarecido.
Abraço e bons estudos =)