14

Estoy interesado en mover algunas configuraciones/asignaciones NHibernate en el código para ayudar con algunos problemas de mantenimiento. ¿Alguien puede proporcionar algún consejo/pros/contras/comparaciones de Fluent NHibernate vs. NHibernate.Mapping.Attributes?NHibernate Fluido vs. Atributos

Tengo algo de experiencia con las anotaciones de Java Hibernate, lo que me ha gustado, pero me da curiosidad si los atributos de NHibernate son comparables, y si Fluent proporciona algún inconveniente/inconveniente importante que deba tenerse en cuenta.

Respuesta

19

No creo que nadie haya hecho ninguna comparación directa. Todo se reduce a lo cómodo que estás con la decoración de tus entidades con atributos. Fluidez NHibernate tiene como objetivo permitirle utilizar NHibernate con un modelo completamente no contaminado, mientras que los atributos requieren que modifique sus entidades; esta es una preocupación de persistencia que se filtra en su dominio. Si eso es un problema para usted es si debe elegir atributos o no.

Fluido NHibernate también arroja algunas cosas más a la mesa que simplemente asignaciones. También está el auto mappings que le permite mapear automáticamente su dominio. Está el conventions support que le permite reducir en gran medida la repetición en su diseño. No voy a repetir todo, pero puedes leer más en el Fluent NHibernate wiki.

+1

Estoy de acuerdo con la idea de mantener el modelo no contaminado. Esta ha sido la razón principal por la que uso Fluent NHibernate, aunque la he usado principalmente en proyectos de Brownfield. Recién comencé a usarlo en proyectos de Greenfield y también es muy bueno el uso de la automatización con soporte para convenciones. Para ser honesto, tiendo a pensar en una configuración fluida como esta como una especie de programación orientada a aspectos, y por lo tanto tiene algunos de los mismos beneficios que AOP. – Rich

0

NHibernate ahora es compatible con JPA (llamado NPersistence o NPA para la plataforma .NET), incluidas las anotaciones JPA. Es la mejor manera de asignar sus entidades y tener su código portátil para otros proveedores también. comprobarlo:

www.npersistence.com

Cuestiones relacionadas