問題タブ [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.
database - 関数からリレーショナルへのマッピングは、オブジェクトからリレーショナルへのマッピングよりも簡単ですか?
オブジェクト リレーショナル マッピングについては、こちらを含め、よく議論されています。私はいくつかのアプローチと、落とし穴と妥協の経験があります。真の解決には、オブジェクト指向またはリレーショナル モデル自体の変更が必要なようです。
関数型言語を使用している場合、同じ問題が発生しますか? これら 2 つのパラダイムは、OO と RDBMS よりもうまく適合するはずです。RDBMS のセットで考えるという考え方は、関数型アプローチが約束しているように見える自動並列処理と噛み合っているようです。
興味深い意見や洞察を持っている人はいますか? 業界のプレイ状況は?
nhibernate - NHibernateの値オブジェクトへの複数の値のマッピング
私はNHibernateにかなり慣れていません。ウェブ上で、NHibernateマッピングに関する情報をたくさん見つけていますが、この情報を見つけるにはあまりにも愚かです。
だから問題は、私は次のモデルを持っているということです:
これが私が見たいものです。2つのアドレスプロパティを持つ1人のきれいな人。
データベースでは、これを1つのテーブルに保持したいと思います。したがって、Person行にはShippingStreetname列とStreetname列があり、一方はShippingAddress.Streetnameにマップされ、もう一方はAddress.StreetNameにマップされます。
流暢なインターフェースに関する記事を見つけましたが、XML構成を介してこれを行う方法をまだ理解していません。
前もって感謝します!
更新:私はこれに対する解決策を自分で見つけました。これはノードを介して実行でき、かなり簡単に機能します。
AddressとShippingAddressのマッピングを実現するには、以下を追加する必要があります。
c# - SQL データベース テーブルの C# クラス
これに出くわしました:
http://www.eggheadcafe.com/articles/adonet_source_code_generator.asp
私はすべてのストアド プロシージャのクラスを作成するのが好きではないので、これが正しい解決策であるかどうか、または ASP.net 2.0 プロジェクトのエンタープライズ ライブラリを使用するかどうか疑問に思っています。
php - PHP用のORMフレームワークを使用するのに最も簡単なものは何ですか?
PHP用のRubyのActiveレコードを探しています。フィールドを定義し、基本ORMクラスを拡張するだけで、ACID操作を無料で取得できるほど単純なものです。コードを記述せずにデフォルトのゲッターとセッターを取得する必要がありますが、デフォルトのゲッターまたはセッターをオーバーライドするのは、get$fieldNameまたはset$fieldName関数を必要な動作で宣言するのと同じくらい簡単です。Symphonyを使用すると、オブジェクトごとに約5つのファイルを作成でき、定義されたすべてのオブジェクトは、私が知る限り常にロードされます。より良い代替案は何ですか?なぜそれが良いのですか?答えに簡単な例を入れていただけますか?
Doctrineは、シンフォニー以外に私が見たもう1つのORMです。また、データ構造を記述するyamlファイルを作成する必要があります。データベースはすでにこのようなものを定義しています。設定ファイルをどこにでも生成して保存しなくても、テーブル定義を読み取るだけで何ができますか?
sql - オブジェクト グラフのすべてのリビジョンを取得するクエリ
データベースに監査ログを実装しているので、すべてに CreatedAt 列と RemovedAt 列があります。ここで、オブジェクト グラフのすべてのリビジョンを一覧表示できるようにしたいと考えていますが、そのために考えられる最善の方法は、共用体を使用することです。一意の CreatedAt ID と RemovedAt ID をすべて取得する必要があります。
州のある国のリストを取得している場合、ユニオンは次のようになります。
より複雑なクエリの場合、これは非常に複雑になり、パフォーマンスが非常に低下する可能性があるため、誰かがより良いアプローチを考えられるかどうかを確認したかった. これは MSSQL サーバーにあります。
これはfrom句で使用されており、実際のデータはこれに結合することから得られるため、すべてを単一のリストに含める必要があります。
php - フレームワーク全体を使用せずに、ORM 用の Kohana ライブラリを PHP にインストールすることは可能ですか?
以前の質問で、さまざまな ORM ライブラリについて尋ねました。Kohana は非常にきれいに見えますが、ORM の目的では機能的であることがわかります。私はすでに作業中のMVCフレームワークを持っています。フレームワークとして実行したくない場合、DB および ORM 基本クラス ファイルを提供するために含める適切なファイルセットは何ですか?
アップデート:
私は飛び込んで、ORM ソースコードを見始めました.. 1 つのことがすぐに私を混乱させました.. すべての ORM クラスにはクラス名に _CORE、つまり ORM_Core ORM_Iterator_Core が追加されていますが、コードはどこでも ORM クラスを拡張しています。問題は、コードベース全体を6つの異なる方法で検索したことです.プレーンなORMクラス定義もORMインターフェース定義も何も見たことがありません..誰かがその魔法がどこで起こるか教えてもらえますか?
java - カスタム Hibernate UserType の作成 - isMutable() とはどういう意味ですか?
プロジェクトの Hibernate でカスタム UserType を作成しています。isMutable メソッドにたどり着くまでは、比較的簡単でした。私は、この方法が契約上何を意味するのかを理解しようとしています。
UserType を作成しているクラスが不変であることを意味するのでしょうか、それとも、このクラスのインスタンスへの参照を保持するオブジェクトが別のインスタンスを決して指さないことを意味するのでしょうか?
オブジェクト自体が変更可能だったため、 Hibernate Community Wikiで true を返した例をいくつか見つけました- http://www.hibernate.org/73.html。
コミュニティ wiki の他の例は、変更可能であるにも関わらず、理由を説明せずに false を返しました。
JavaDoc を確認しましたが、あまり明確ではありません。
UserTypeの JavaDoc から:
Typeの JavaDoc から:
asp.net-mvc - Linq を使用して、関連するテーブルから新しい関連するテーブルのセットにデータをコピーして挿入する最良の方法は何ですか?
私は Web ゲームに取り組んでおり、asp.net mvc、linqtosql を使用しています。
デフォルトのゲーム値を格納する 3 つのテーブルがあります: DefaultRegions、DefaultSubRegions、および DefaultCountries。これらの 3 つのテーブルは、主キー/外部キーのおかげで相互に関連付けられています。
誰かが新しいゲームを作成するときに、これらのテーブルの値を Regions、SubRegions、Countries という 3 つのテーブルにコピーする必要があります。これら 3 つのテーブルには、進行中のゲームの値が保存されます (ゲームを区別するために GameId が追加されます)。
ここで、主キーが明らかに変更されるため、関係を更新する必要があります。
効率的な方法でこれを達成する方法を知っている人はいますか?
私のアイデアには面倒な foreach ループが含まれますが、他の誰かがアイデアを持っているのではないでしょうか?
編集は私の最初のアイデアが最善の方法であるように見えます、ありがとう
.net - CRUD の設計、実装、維持に費やされた労力
データ アクセス層での単純な作成、読み取り、更新、および削除 (CRUD) メソッドの実装と維持に、総開発作業の何パーセントを費やしていますか?
Hibernate や Entity Framework などの ORM に移行すると、大幅な節約につながりますか? データ アクセス レイヤーの ORM への移行が適切な選択であることを知らせる設計上の匂いはありますか?
敬具、アシッシュ
php - Symfony アプリ - 計算フィールドを Propel オブジェクトに追加する方法は?
Propel オブジェクトの計算フィールドを操作する最良の方法は何ですか?
対応するテーブル「customers」を持つオブジェクト「Customer」があり、各列がオブジェクトの属性に対応しているとします。私がやりたいことは、計算された属性「完了した注文の数」をビュー A で使用するときにオブジェクトに追加し、ビュー B と C では使用しないことです。
計算された属性は、ID を介して「Customer」オブジェクトにリンクされた「Order」オブジェクトの COUNT() です。
今できることは、最初にすべての Customer オブジェクトを選択し、次にそれらすべての Orders を繰り返しカウントすることですが、1 つのクエリでそれを行うとパフォーマンスが向上すると思います。しかし、計算フィールドの定義が含まれていないため、Propel オブジェクトを適切に「水和」できません。
どのようにアプローチしますか?