問題タブ [orm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
language-agnostic - コード ジェネレーター vs. ORM vs. ストアド プロシージャ
これらのソフトウェア アーキテクチャのそれぞれが、どの分野で優れているか、または失敗するか?
どちらかを選択するよう促す重要な要件はどれですか?
優れたオブジェクト指向コードと優れたデータベース開発を行える開発者がいると仮定してください。
また、聖戦は避けてください :) 3 つのテクノロジにはすべて長所と短所があります。
python - Python用のiBATIS?
私の現在のギグでは、Java 経由で iBATIS を使用してデータベースを CRUD しています。独自の構文をユーザーに課さないため、特にレガシー データベースを操作する場合は、このツールの抽象的な性質が気に入っています。
Web サイトには Java/.NET/Ruby バージョンしかないため、このライブラリの Python アナログを探しています。必要がなければ、Jython に切り替える必要はありません。
Python 用の iBATIS 機能に類似したプロジェクトは他にありますか?
java - Hibernate がセッションをフラッシュするとき、セッション内のどのオブジェクトがダーティかをどのように判断しますか?
Hibernate についての私の理解は、オブジェクトが DB からロードされると、それらがセッションに追加されるということです。設定に応じて、さまざまな時点でセッションがフラッシュされます。この時点で、変更されたオブジェクトがデータベースに書き込まれます。
Hibernate は、どのオブジェクトが「ダーティ」であり、書き込む必要があるかをどのように判断しますか?
Hibernate によって生成されたプロキシは、フィールドへの割り当てをインターセプトし、オブジェクトをセッションのダーティ リストに追加しますか?
それとも、Hibernate はセッション内の各オブジェクトを見て、それをオブジェクトの元の状態と比較しますか?
それともまったく違うもの?
architecture - ORMを使用する場合、ロードされたエンティティを階層間で安全に送信する方法
システムにN層がある場合、およびORMを使用する場合、ロードされたエンティティを層間でどのように送信しますか?
DTOを使用していますか?
DTOが使用されず、エンティティが直接送信される場合、初期化されていない遅延ロードされた関係エラーからどのように保護しますか?
注:これは「N層を使用する必要がありますか?」ではありません。質問。システムにはすでにN層があると思います。
c# - Entity Framework - インポートされたストアド プロシージャの結果の型をカスタム エンティティ型にマップできますか?
使用する必要があるさまざまなオブジェクトを含む別の dll にエンティティ モデルが既にあります。EF デザイナーを使用してエンティティを作成または複製したくありません。代わりに、ストアド プロシージャを呼び出すときに特定の列を特定のプロパティにマップするように構成したいと思います。
LinqToSql のカスタム DataContext を使用して、これに非常に近いことができることを私は知っています。問題は、複雑なプロパティ タイプに列を割り当てることができないことです。例: ユーザーのアドレスを含む列が返される場合があります。User オブジェクトのプロパティである Address オブジェクトに、ユーザーのアドレスの詳細を保存したいと考えています。したがって、列 STREET は User.Address.Street にマップする必要があります。
何か案は?
.net - NHibernate の軽量な代替手段
NHibernate は、すべての依存関係があるため、私たちの環境にはあまり適していません。(キャッスル、log4netなど)
優れた軽量の代替手段はありますか?
Access/SQLite/VistaDB などの単純なファイル ベースのデータベースのサポートは不可欠です。
理想的には、.NET アセンブリのみを参照する単一のアセンブリに含まれるものです。ボーナスである .NET Framework 2.0 または 3.0 のみが必要な場合。
orm - ORM (Object-Relational Mapping) の「N+1 選択問題」とは何ですか?
「N+1 選択の問題」は、オブジェクト リレーショナル マッピング (ORM) の議論では一般的に問題として述べられています。オブジェクト内で単純に見えるものに対して、多くのデータベース クエリを作成する必要があることと関係があることを理解しています。世界。
誰かが問題のより詳細な説明を持っていますか?
java - どの EJB 3 永続プロバイダーを使用する必要がありますか?
私はかなり大規模な J2EE プロジェクトで EJB 3 を使用しています。デフォルトでは、Netbeans はエンティティ Bean の永続プロバイダを TopLink に設定します。プロバイダーを次のいずれかに変更するか、新しい永続ライブラリを追加するオプションがあります。
- 休止状態
- 鼓童
- OpenJPA
どの持続性プロバイダーを使用したいですか? 別のプロバイダーを使用する利点は何ですか?
TopLink は良さそうに見えますが、キャッシングなどを制御する方法に関する適切なドキュメントはあまり見つかりません。
database - Haskell 用の ORM ツールはありますか?
Haskell を使用してデータベースと対話する最良の方法は何ですか? 私はある種の ORM (Django の ORM、休止状態など) を使用することに慣れており、HAppSでアプリを作成するときに似たようなものがいいでしょう。
編集:実際のデータベースに関する限り、Postgresql MySql と SQLite から自由に選択できるようにしたいと思います。