落とし穴、実践的な使用例:Toplink、Hibernate、EclipseのリンクIbatis
-
05-09-2019 - |
質問
たく冬眠っJPAの実装です。ほとんどの場合です。もっとも多くの落とし穴:
- リモと続き物をすることは困難でしHibernateに置き換え、Java collections独自のコレクションが実装されます。そのサンプルプログラムのHibernate.jarます。に介護しているLazyLoading特例等一方この問題を回避するには、webサービス.
- Dirtyチェック対象のデータベースなロックが解除されます。
- "遅れ"SQL"の原因になるデータアクセスな酸に対応しています。(失われたデータに...)
- Implictの更新>>お知らない場合にはオブジェクトが変更されない(コミット因ます。
はり同様の問題Toplink、EclipseのリンクやIbatis?されることがあります。ょうか。ても同様の実績を教えてください。が選ばれる理由Eclipseリンク/Toplink...以上Hibernate?
解決
I共有できる価額は、Hibernateの落とし穴:
- 基準APIではないtypesafe
- 基準APIは比較的悪設計(例:取得できな、現在のエイリアス)
- 作成した場合は、エイリアスは、強制、内側join(このドキュメントでは誤解を招く)
- 【お問い合わせ先】石川労働組合
- が可能です。'de-プロキシ'持続的なオブジェクト(リモは第三者による)
- 【お問い合わせ先】石川ずにテーブルでパームヤシガラ(ここでダムがう従来のスキーマ)
- なので簡単に配列非PKラム(なダム)
として多くの成功実装では、いつもこんに頼っていてもタイムリーにはないもので覆われていないのJPA。
他のヒント
Eclipseを選択する理由があります リンク/ Toplinkの... Hibernateはオーバー?
O / Rマッパーの開発者の土地で(私が住んでいる場所;))それは、TopLinkが完了し、そこに最高のO / Rマッパー最も特徴であると考えられていることが一般的事実です。それは、その弱点を持っていますが、機能の広大な数はそれを打ち負かすのは難しいものを作ります。それが今、オープンソースとフリーだとして、私はそれを試してみるだろう。
iBatisのが本当にO / Rマッパーではない、それはハードコードされたSQLを介してクラスの充填剤/存続の以上です。だから、重い物を持ち上げるを行うためにきたし、すべてのクエリを記述する必要があります。 iBatisのは、あなたが保存されprocsのにデータベースを使用してDML /セットの取得のためにこれらのprocsを利用する必要があるしているときに便利です。
できないコメントの実装がDataNucleus AccessPlatform...
- リモきが必要"jdo.jar"と現在のモデル授業はbytecode。また使用する場合"読み取り専用のリモート側に利用し、国連強化の授業があり、すべての作品に追加jar.
- 汚れのチェックは行われよbytecode強化する必要がなくなるための共同開発者管理が、フィールドが汚れやすい制御をロックしたい場合はdatastore).言うことがで顕著なパフォーマンスの優位性を反映基になります。
- 知っていない"失われた更新"を可能にする;使用楽観的ロック役になっています。
- での暗黙の更新により"によって管理される関係"がお持ちの双方向の関係だけ変化する側のDataNucleusを更新するその他の側面と...でflush()).き"によって管理される関係"(ポイント)できるバージョン管理オブジェクトを知れば、オブジェクトが変更されます。
選ばれる理由はDataNucleus この文書化
HTH
--アンディ DataNucleus
についてEbean ORM http://www.avaje.org と落とし穴:
リモ
利用できる"バニラ"のモードをクエリとしEbeanに戻平野豆ます。これだけの作品ご利用の際は"動的プロキシ/ダイナミックサブクラス"ではご利用の場合(主体としてbeanクラスが明らかに強化).
Dirtyチェック対象のデータベースなロック.
ダウンロードいただけまうオプティミスティック並行チェック?その場合その定義ではなく、明示的なDBロックになっています。を使用する必要があり悲観的ロックの代わりにしたい場合に/が必要なロックDBを選択のための更新など)も行っていないでくださいます。
遅延SQL
Ebeanなセッションでないセッションフラッシュ().SQLので遅れることとEbeanご利用の際はJDBCバッチでの遅延にあることのセッションフラッシュ().
暗黙更新
共通の苦情の話を聞きましたex-Hibernate ex-JPA?Ebeanはarchitectedなセッション/entityManager.代わりに必要なものを明示的に保存することができるの豆またはこのカスケードに関する豆です。そのような暗黙のデー Ebean.