Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida na Aula 3 do curso

Já existia uma tabela no banco chamada "usuario".

Foram criadas as tabelas Produto e Categoria e os arquivos xml que mapeiam elas. Após isso foi criado um produto com uma categoria e colocados para salvar no banco de dados.

Comigo ocorreu uma exceção dizendo que as tabelas não existem. somente após o método"GerarSchema();" as tabelas foram criadas e consegui persistir os dados.

na Video Aula não foi utilizado o método GerarSchema() e mesmo assim funcionou. Porque comigo não funciona sem utilizar o comando?

1 resposta
solução!

Oi Henrique, tudo bem?

Acho que a resposta do Elias Gervasio responde a sua pergunta:

https://cursos.alura.com.br/forum/topico-duvidas-aula-03-exercicio-03-e-04-34312

Elias Gervasio (157.3k xp, 72 posts) WebDev Bom dia galera.

estou com uma dúvida aqui. No exercício 03 pede para fazer a inclusão da propriedade Categoria na classe Produto e também alterar o mapeamento Produto.hbm.xml incluindo uma propriedade . Ok fiz as alterações. No exercício 04 pede para descomentar as linhas da View de cadastro do Produto responsável por repassar o id de uma Categoria ao controller de Produtos. E isso acontece de fato o Id é passado mais quando mando salvar não é apresentado nenhum erro apenas não existe no banco a coluna CategoriaId na tabela Produto. Ela deveria ser criada automaticamente quando eu fizesse a primeira inclusão? Ou preciso chamar o método GerarSchema() toda vez que deverá haver uma alteração no banco?

Bom pessoal já respondendo minha pergunta devido a uma falta de atenção minha.

Sim o NHibernate criar a coluna automaticamente não necessitando de chamar o método GerarSchema(). O que aconteceu é que como eu já estava mostrando a tabela no meu gerenciador de banco sem a coluna CategoriaId, quando eu fazia novos selects ela não era mostrada, assim que fechei a tela de visualização da tabela e reabri a coluna estava lá.