2009-10-20 10 views

Respuesta

12

Creo que Fluent-NHibernate se basa en las bonitas características proporcionadas por Linq en C# 3.0 si no me equivoco. Hasta que Java implemente las expresiones lambda, etc., no creo que veamos Fluent Hibernate.

Podría estar equivocado. :)

+1

buen punto. Me estaba concentrando en la interfaz de estilo fluido y me preguntaba si esto es un problema y no pude encontrar ninguno. Pero dentro de las llamadas concatenadas hay expresiones lambda, doh! –

+10

De la boca de los caballos (soy el desarrollador principal de Fluiber NHibernate): la razón por la que Fluent Hibernate no existe es exactamente debido a la falta de expresiones lambda. No es solo la falta de lambdas básicos, sino la capacidad de analizar esas expresiones de las que FNH depende en gran medida; sin el cual tendrías que recurrir a cadenas y eso no es mejor que XML en mi opinión. Sin embargo, siempre es una posibilidad para el futuro. –

+0

@James: Al usar lambdas, ya que los datos son geniales, creo que el mapeo basado en la convención es mi principal motivación para usar FNH. Es terriblemente fácil "conseguir algo que funcione", y luego bloquea el esquema más tarde. El único problema que veo es el hecho de que el patrón de cierre anidado se usa en todo FNH; Si bien funciona bien con C#, Java no admite métodos anónimos (aunque puede crear funtores a través de clases anónimas). Creo que Fluent Hibernate funcionaría bastante bien en Scala, y podría funcionar bastante bien en Java. – Charles

2

Groovy es compatible con las expresiones lambda (aunque les confunden bastante como cierres), y las clases de Groovy son directamente accesibles desde Java. Tal vez las asignaciones para aplicaciones Java se podrían escribir en Groovy.

Solo un pensamiento.

1

Scala admite lambda, a la derecha (soy totalmente novato de Scala). Y es completamente interoperable con Java en el nivel de compilación estática. Parece que Scala + Hibernate permitiría fluidez en el lado de Java.

+1

Para ser completamente pedante, sería habilitar "fluido" en el lado JVM. –