NHibernate + Chave estrangeira
-
quinta-feira, 18 de agosto de 2011 20:03
Boa tarde Pessoal. Estou com uma dificuldade em criar uma chave estrangeira sem um relacionamento direto entre as entidades. Vou colocar abaixo um exemplo do que estou precisando fazer
public class Pagamento
{
public Int32 IdPagamento { get; set; } // chave primária
public Int32 IdFormaPagamento { get; set; } // chave estrangeira com a classe FormaPagamento
}
public class FormaPagamento
{
public Int32 IdFormaPagamento { get; set; }
public String Descrição { get; set; }
}
Pelo que eu andei dando uma olhada o que acontece, é que o Nhibernate obriga eu colocar uma referencia para a classe FormaPagamento ao invés de utilizar apenas o IdFormaPagamento. Se eu não colocar a referencia ele não consegue criar a chave estrangeira corretamente quando eu gero o schema pelo hibernate, aí terei que gerar esta chave manualmente.Alguém já conseguiu fazer isso?
Abraços
Todas as Respostas
-
sexta-feira, 19 de agosto de 2011 18:18
Rafael,
Realmente você precisa relacionar a CLASSE, não consegui entender o porque de relacionar somente o ID. Vale lembrar que durante a geração do SQL ele cuida de converter isso para o inner join corretamente, se você não utilizar a classe ele nunca vai conseguir VALIDAR se o tipo de objeto que você esta consultando é do tipo FormaPagamento ou não, por isso a necessidade de tipagem no relacionamento, é uma questão de arquitetura realmente.
Tornar o simples complicado é facil, tornar o complicado simples é criatividade, vontade e conhecimento- Marcado como Resposta IT HeroModerator quarta-feira, 24 de agosto de 2011 14:17

