Quando eu uso o relacionamento HasManyToMany e peço para criar o banco o Nhibernate cria as tabelas corretamente com seus respectivos relacionamentos, mas esta tabela que faz as associações não é gerado a chave primária, alguém sabe resolver isso, eu destaquei o código abaixo.
public UsuarioMap()
{
Table("USUARIO");
Id(u =>
u.id).GeneratedBy.Sequence("SeqUsuario").Column("ID");
Map(u => u.email).Unique().Not.Nullable().Length(100);
Map(u => u.senha).Not.Nullable().Length(15);
Map(u => u.nome).Length(50);
HasManyToMany(u => u.permissoes)
.Table("USUARIO_PERMISSAO")
.ParentKeyColumn("IDUSUARIO")
.ChildKeyColumn("IDPERMISSAO")
.Cascade.SaveUpdate()
.LazyLoad();
}
Foi gerada a seguinte tabela mas sem a chave primária, existe alguma maneira de definir a chave primária no mapeamento?:
CREATE TABLE usuario_permissao
(
idpermissao integer NOT NULL,
idusuario integer NOT NULL,
CONSTRAINT fk36e8cd2881c02994 FOREIGN KEY (idusuario)
REFERENCES usuario (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk36e8cd28f464dbf6 FOREIGN KEY (idpermissao)
REFERENCES permissao (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)