0
我正在寻找任何如何或文档关于使用FluentNHibernate Embeddable
准确地在Hibernate中。有没有什么办法可以在FluentNHibernate中与Embeddable一起工作,如果没有,有什么最好的方法来模拟这个?在FluentNHibernate中使用Embeddable吗?
我正在寻找任何如何或文档关于使用FluentNHibernate Embeddable
准确地在Hibernate中。有没有什么办法可以在FluentNHibernate中与Embeddable一起工作,如果没有,有什么最好的方法来模拟这个?在FluentNHibernate中使用Embeddable吗?
最后我找到了一些解决方案。它非常简单,像JPA/Hibernate的Embeddable
。
这里找到:https://github.com/jagregory/fluent-nhibernate/wiki/Fluent-mapping#components
然后我做了。
public class Cliente {
public virtual long id { set; get; }
public virtual long codigo { set; get; }
public virtual String nome { set; get; }
public virtual String sexo { set; get; }
public virtual String cpf { set; get; }
public virtual String rg { set; get; }
public virtual DateTime dtNascimento { set; get; }
public virtual Endereco endereco { set; get; } //Embeddable
public Cliente() { }
}
public class Endereco {
public String endereco;
public String numero;
public String bairro;
public String complemento;
public String cidade;
public String cep;
public EstadosBrasil uf;
public Endereco() {
}
}
映射
public class ClienteMap : ClassMap<Cliente> {
public ClienteMap() {
Table("CLIENTE");
Id(c => c.id).GeneratedBy.Native();
Map(c => c.codigo);
Map(c => c.nome);
Map(c => c.sexo).Length(2);
Map(c => c.cpf);
Map(c => c.rg);
Map(c => c.dtNascimento).CustomType<DateTime>();
//embeddable
Component(c => c.endereco, e => {
e.Map(c => c.endereco);
e.Map(c => c.numero).CustomType<int>();
e.Map(c => c.bairro);
e.Map(c => c.complemento);
e.Map(c => c.cidade);
e.Map(c => c.cep);
e.Map(c => c.uf).CustomType<GenericEnumMapper<EstadosBrasil>>();
});
}
}