2009-10-20 11 views

答えて

12

Fluent-NHibernateは、間違いがない限り、LinqがC#3.0で提供する優れた機能に依存していると思います。 Javaがラムダ式を実装するまで、私はFluent Hibernateを見るつもりはないと思う。

私は間違っている可能性があります。 :)

+1

良い点。私は流暢なスタイルのインターフェイスに集中していたし、これが問題であれば何も見つかりませんでしたかと思っていました。しかし、連結された呼び出しの中にラムダ式があります。 –

+10

馬の口から(私はFluent NHibernateのリード開発者です):Fluent Hibernateが存在しない理由は、ラムダ式の欠如のためです。基本的なラムダの欠如だけではなく、FNHが大いに依存している表現を解析する能力です。それがなければ文字列に頼る必要があり、それは私の意見ではXMLより優れていません。それはいつでも将来の可能性です。 –

+0

@James:lambdaをデータとして使用するのはクールですが、FNHを使用するための主な動機は、コンベンションベースのマッピングです。非常に簡単に「何かを稼働させる」ことができ、後でスキーマをロックダウンすることができます。私が見る唯一の問題は、ネストされたクロージャーパターンがFNH全体で使用されているという事実です。それはC#でうまく動作しますが、Javaは匿名メソッドをサポートしていません(ただし、匿名クラスを使用してファンクションを作成することはできます)。私はFluent HibernateがScalaでかなりうまくいくと思っていますし、Javaでちょっとした作業ができます。 – Charles

2

Groovyはラムダ式をサポートしています(しかし、クロージャを混乱させるものですが)。GroovyクラスはJavaから直接アクセスできます。おそらく、JavaアプリケーションのマッピングはGroovyで記述することができます。

単なる考えです。

1

Scalaはラムダをサポートしています(私は完全にScala newbieです)。また、静的コンパイルレベルではJavaと完全にインターオペラブルです。 Scala + HibernateがJava側で流暢に使えるように思えます。

+1

完全に賢明であるためには、 JVM側で「流暢」を有効にします。 –

関連する問題