2009-05-27 13 views
1

nhibernate 1.2と2.0の間に実際の違いが何であるかについての情報はありません。アップグレードに関する潜在的な問題に関する情報は見つかりましたが、新機能の有無やパフォーマンスの違いについては何も見つかりませんでした。nhibernate 1.2と2.0の相違点

私たちの開発をより効率的に簡単にすることができる2つの重要な違いがある場合、私は上司にアップグレードすることをお勧めします。もしそこに何かが混乱するようなものがなければ、私は現在安定しているライブラリをアップグレードしようとすることができません。

私は既にレビューした情報へのリンクを投稿しようとしていましたが、私は新しいユーザーとみなされています。

答えて

4

6ヶ月間私の仕事をアップグレードに費やしました。

  • セッションの開始時間が大幅に短縮されました。私たちが気付いたいくつかの利点を簡単に述べておきましょう。これは、起動時にSessionFactoryが初期化されるまでに要する時間です。時間は〜45秒で、現在は〜5秒です。プロダクションではあまり問題はありませんが、間違いなく開発者にとっては面倒です。約200のドメインオブジェクトがあることに留意してください。
  • デフォルトでは、アップグレード時に遅延読み込み(私はコレクションではなくクラスではありません)を利用しました。これは1.2から2.0への変更です。しかし、完全にロードされておらず、セッションから切断されたオブジェクトに関する問題が発生しました。それらは見つけやすいものではなく、解決しやすいものでした。
  • バッチ処理を利用しましたが、これは新しいと思います。これは、NHが実際には意図していない一括更新操作で大きな改善をもたらしました。
  • 上記の2つの改善点で、特定の夜間操作の時間を30%削減しました。
  • 古いフレームワークに関する私たちの最大の不平の一つは、1.2のサポートと最新の情報を見つけることが難しくなったことです。
  • ページングやカウントなどのための改善されたCriteria Queryサポートがあります。 Criteriaクエリは、第1レベルのキャッシュを活用するため、優れています。
  • 強く型付けされたコレクションは、操作が楽しいです。複雑なSQLの代わりにLINQをドメインオブジェクトに使用することがあり、厳密に型指定されたコレクションを持つことが必要です。
  • 現在Ayendeのプロファイラーを使用しています(現在2.0+のために構築されています)
  • 他にもいくつかありますが、私たちのマイグレーションの経験は、私たちが思ったほど恐ろしいものではありませんでした。そして私たちには、NHの人々を震えさせる遺産があります。あなたの設定を変更する必要があります(私は私たちのソリューションでは30未満だったと思う)いくつかの非難されたインターフェイスをアップグレードする必要がありますが、最大の痛みは、ドメインオブジェクトのすべてのプロパティ/メソッドを仮想にしている。私は実際に私たちのドメインオブジェクトを櫛形にするためのクイックプログラムを書いていました。
関連する問題