問題タブ [dao]
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.
java - DAO パターンの使用の長所と短所
タイトルで述べたように、特に Web アプリケーション内での DAO パターンの使用について (経験豊富な開発者として) あなたがどう思うか知りたいです。どのような利点があり、その使用のどのような結果が嫌いですか?
wpf - BLL または UI で Linq-to-SQL エンティティを使用していますか?
先日、単純な WPF LOB アプリケーションの構築についてクライアントからアドバイスを求められました。彼らは基本的にデータベース用の CRUD アプリケーションを望んでおり、主な目的は WPF トレーニング プロジェクトです。
また、Linq To SQL を彼らに見せたところ、彼らは感銘を受けました。
次に、その L2S エンティティを BLL または UI コードから直接使用することはおそらくお勧めできないと説明しました。代わりに、リポジトリ パターンのようなものを検討する必要があります。
その時点で、私は彼らの頭の中で過剰なエンジニアリングの警鐘が鳴っているのをすでに感じていました (そして私の頭の中もある程度)。単純な CRUD アプリケーションにこれだけの複雑さが本当に必要なのでしょうか? (OK、それは彼らのためのWPFトレーニングプロジェクトとして効果的に機能していますが、それが「本物の」アプリに変わるふりをします)。
- アプリケーション全体で L2S エンティティを使用することが許容されると考えたことはありますか?
- 後で別の永続化フレームワークを使用するようにリファクタリングすることは (経験から) どのくらい難しいですか?
私の見方では、UI レイヤーが L2S エンティティを単純な POCO として使用する場合 (L2S 固有のメソッドに触れることなく)、必要に応じて後でリファクタリングするのは非常に簡単です。
L2S クエリを一元化する方法が必要なので、L2S エンティティを直接使用する場合でも、それを管理する何らかの方法が必要です。ある意味で、私たちはすでに DAL/DAO/Repository のいくつかの側面を推し進めています。
私が見ることができる Repo の主な問題は、L2S エンティティと一部のドメイン モデルの間のマッピングの苦痛です。そして、それは本当に価値がありますか?別のモデルにマッピングすると使いにくいと思われる L2S エンティティで「無料」でかなりの量を取得できます。
考え?
java - 私はこの一般的なことをすることができますか?
私が思うに、Java Genericsには何かが欠けているようです。単純だと思うのですが、私にはできないように見えます。多分あなたは助けることができます...
これがシナリオです。アプリケーションのすべての特定のDAOが無料で使用できるように、単純なCRUD操作で汎用の抽象DAOをコーディングしています。
次に、特定のDAOを実装します。
そして、私のDAOのクライアントコードは次のようになります。
クライアントがコードを実行するとき、BaseDAOは、返す必要のあるエンティティのタイプと、特定のdaoに設定しているため、そのエンティティの主キーのタイプを認識していますが、read()メソッドを正しくコーディングする方法がわかりません。
あなたが助けることができることを願っています。どうもありがとう!
database - DAO Best practices : Querying Parent / Children
Given you have a domain model with a simple parent / child relationship, and each entity has it's own associated DAO, eg:
If I want to add a DAO method for retrieving the books by a specific author, what's the best place for it?
or
sql - DAO、ORM、およびクエリ
レコードのヒープ内の 1 つのフィールドを同じ値に更新する必要があります。DAO/ORM 構造を使用して、各親オブジェクトを取得し、各子オブジェクトをループして、そのフィールドを更新し、保存します。
SQL を記述するだけの方が高速です: update table set field = value where criteria = specified.
これらをどのように組み合わせるのですか?dao構造に固執するだけですか:
乾杯。
c# - DAO/Repository/NHibernate と Edge DB ケースの処理
私を困惑させ続けていることの 1 つは、本やブログであまり言及されていないことですが、実際には DAO やリポジトリの管轄下にないシステムで DB 操作を処理する方法です。一般的な DAO/リポジトリのアプローチを使用して一般的な DB 操作を処理するのが好きですが、エンティティではないものを処理するのはどうですか? たとえば、システムを構築していて、ストアド プロシージャを呼び出してバッチ操作を実行し、成功コードを返す必要があるとします。または、その他のテーブルから日付をロードする必要があります。または、テーブルから米国の州のリストをロードしたいと考えています。これらのケースは確かに発生し、実際にはシステム内のエンティティまたはその他のオブジェクトとは何の関係もない場合があります。NHibernate のようなものを手放して ADO を手動で使用する、厄介な「その他の」DB クラスにドロップすることはありません。
java - JPA @Version: 使い方は?
- のセッター/ゲッターを作成する必要があります
versionか? - このエンティティを Hibernate で永続化する場合、この値を手動で設定する必要はありませんよね?
- Spring で楽観的同時実行性チェックを使用するには、他に何を構成する必要があります
hibernateTemplate.saveOrUpdateか? すべてのデータベースがサポートされていますか? - このエンティティを単体テストする方法は? 私のデータベースでは、バージョン フィールドを示すすべてのレコードの値が 0 になっています
- 呼び出す
hibernateTemplate.saveOrUpdateたびにバージョン値がインクリメントされますか?
hibernate - org.hibernate.HibernateException: 現在、実行コンテキストにバインドされているセッションはありません
Spring Security を Hibernate と統合しようとしています。私は両方のテクノロジーに慣れていないので、ここで一度に多くの手順を実行していることはほぼ間違いありませんが、データベースからユーザーを認証したいところです。これは確かにSpring Securityの問題よりもHibernateの問題だと思いますが、いくつかのコンテキストを提供するために言及します。以下、エラーメッセージとコードです。誰でも何かを見つけることができますか?
DAO とトランザクション管理の構成:
UserDetailsServiceユーザーを認証するために呼び出される を実装するクラスを次に示します。これにより、DAO が呼び出されます。次の行を参照してくださいuserDAO.getUserByLogin(login);。
データベースから読み取るDAOは次のとおりです。「GenericDAO パターン」を利用しようとしていることに注意してください。
エラーが発生するクラス、行は次のCriteria crit = getSessionFactory().getCurrentSession().createCriteria(getPersistentClass());とおりです。
関連する可能性のある休止状態の構成 (hibernate.cfg.xml) に次のものがあります。
java - JSF、JPA、DAO の使用。春なし?
今まで私はまだDAOなしでJSFとJPAを使っていました。今、私はDAOを使いたいと思っています。しかし、DAO クラスで EntityManager を初期化するにはどうすればよいですか?
Spring を使用する必要がありますか、または Spring なしで機能するソリューションはありますか?
ありがとう。
java - 通常、データ アクセス オブジェクトはどのように設計されますか?
通常、DAO は典型的なビジネス アプリケーション向けにどのように設計されていますか? 1 つのクラスまたはパターンがデータ ソースと対話しますか、それとも Entity ごとに個別の DAO を持っているだけですか?