問題タブ [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 - @Transactional アノテーションはどこに属しますか?
@Transactional
をDAO
クラスおよび/またはそのメソッドに配置する必要がありますか?それとも、DAO オブジェクトを使用して呼び出している Service クラスに注釈を付ける方がよいでしょうか? それとも、両方の「レイヤー」に注釈を付けることは理にかなっていますか?
java - Spring MVC ドメイン オブジェクト処理のベスト プラクティス
ドメイン オブジェクトの ID を受け取る単純な Spring MVC コントローラーを想定してみましょう。コントローラは、そのドメイン オブジェクトで何かを行うサービスを呼び出す必要があります。
ドメイン オブジェクトの ID をデータベースから読み込んでドメイン オブジェクトに「変換」する場所はどこですか? これは、コントローラーによって行われるべきではありません。そのため、サービス メソッド インターフェイスは、ドメイン オブジェクト自体ではなく、ドメイン オブジェクトのIDを受け入れる必要があります。ただし、ドメイン オブジェクトをパラメーターとして使用する場合、サービスのインターフェイスはより適切になります。
この一般的な使用例についてどう思いますか? これをどのように解決しますか?
dao - DAOとDALの違いは何ですか?
学校でJavaを学んだことで、DAO-pattern(データアクセスオブジェクト)に精通しています。ただし、職場では.NETを使用しています。.NETでは、DAL(データアクセス層)についてよく話題になります。私には、それらの目的は非常に似ているように見えます。問題は、DAOとDALは基本的に同じものですか?DALという用語は、データアクセスオブジェクトと混同されないように構成されているだけですか?
java - Java DAO で同期を使用すると問題が発生しますか?
Java DAO のメソッドで 'synchronized' キーワードを使用すると、Web アプリケーションで使用すると問題が発生しますか?
ここに示すように、リソースの競合を回避するためにメソッドを同期する必要があるマルチスレッドのスタンドアロン アプリケーションがあるため、質問します。
私が懸念しているのは、かなりの数の人がアプリケーションを使用しようとすると、同期されたメソッドがブロックされ、アプリケーション全体が遅くなることです。
DAO にエンティティ マネージャーを提供する、Spring が注入された JPA エンティティ マネージャー ファクトリを使用しています。技術的には、DAO レイヤーを削除して、クラスにエンティティ マネージャー ファクトリを直接呼び出させることもできますが、DAO が提供する分離を楽しんでいます。
また、接続されたエンティティ ORM オブジェクトをスレッド間で受け渡さないように細心の注意を払っていることにも注意してください。DAOへのアクセス時にリソース競合エラーが発生するのではないかと推測しています。複数のスレッドが同時に進行していて、非アトミックな方法でデータベースを永続化または読み取りしようとしていると思います。
この場合、DAO を使用すると、助けよりも害が大きくなりますか?
私が質問から外した重要な情報は、DAO がシングルトンではないということです。その詳細を含めるのに十分明快に考えていたなら、そもそもその質問をしなかったでしょう.
私の理解が正しければ、Spring はそれを使用するクラスごとに DAO クラスの新しいインスタンスを作成します。したがって、バッキング エンティティ マネージャーは各スレッドに固有である必要があります。Rob H が答えたように、ここで重要なことは、エンティティ マネージャーを共有しないことです。
ただし、同期を削除するとエラーが発生する理由がわかりません。
このスレッドによると、 @PersistenceContext アノテーションはスレッドセーフな SharedEntityManager を作成します。したがって、シングルトン DAO を作成できるはずです。
java - Spring DaoSupport と @PersistanceContext EntityManager?
Spring を理解する上で最も難しいことの 1 つは、Spring が同じ問題に対する複数のアプローチをサポートしていることです。
したがって、私のアプリケーションでは、 @PersistanceContext アノテーションを使用して注入された EntityManager を使用しています。次に例を示します。
このアプローチは JpaDaoSupport の拡張(EntityManager への注入が必要) と互換性がありますか? 私には、同じ問題を解決するための 2 つの互換性のないアプローチのように見えますが、Spring の経験が豊富な人からのアドバイスが欲しいです。
JpaDaoSupport を拡張しない場合、@PersistenceContext アプローチを使用して DAO を構築するにはどうすればよいですか?
database - VB6でDAODBEngineDataTableの列をDataTypedbIntegerからdbLongに変更します
私は維持するためにレガシーVB6アプリを継承しました、そして私のvb6は少しさびた以上です...
タイプDAO.DataTypeEnum.dbLongに変更する必要があるタイプDAO.DataTypeEnum.dbIntegerのフィールドを持つDAOテーブルがあります。この新しいデータ型を設定して既存の値を保持するショートカットvb6の方法はありますか、またはデータを格納するための一時列を作成し、新しいデータ型で列を削除して再作成してから、手動でデータを移行する必要がありますか?
java - マルチレベルのトランザクションを休止状態にする
いくつかの休止状態のコードがあり、コードを 1 つのトランザクションで実行したいので、コードで説明させてください
両方とも humanDao.update(he);
、branchDao.update(be);
humanDao と branchDao が継承されている My GenericDAO によってトランザクション ハンドルで実行されます。しかし、私はこのコードブロック (上で書いたもの) もトランザクションで実行したいのです!! これを行うためにHibernateにアクセスするにはどうすればよいですか?
ms-access - アクセス 2007 DAO VBA エラー 3381 により、メソッドの呼び出しでオブジェクトが「壊れる」
---さらなる調査後--- 以下の例の「tblABC」は、(別の Access データベースへの) リンク テーブルである必要があります。
「tblABC」がコードと同じデータベースにある場合、問題は発生しません。
やあ、
最近、Office 2007 にアップグレードしました。
開いているレコードセット (DAO) を持つメソッドがあります。次に、SQL を実行する別のサブ (以下の UpdatingSub) を呼び出します。このメソッドには独自のエラー ハンドラがあります。エラー 3381 が発生した場合、呼び出し元のメソッドのレコードセットが「未設定」になり、エラー 3420「オブジェクトが無効であるか、設定されていません」が発生します。UpdatingSub の他のエラーでは、同じ問題は発生しません。
このコードは Access 2003 で正常に動作します。
何かご意見は?Office Access 2007 (12.0.6211.1000) SP1 MSO (12.0.6425.1000) を実行しています。おそらく、SP2 を配布できるかどうかを確認できますか?
フォーマットについて申し訳ありません - 修正方法がわかりません。
vba - 共有モードと排他モードの間で Access データベースを切り替えますか?
Access データベース内のいくつかのオブジェクトを編集する必要があるプログラムに取り組んでいます。また、Access がODBC 経由で JET データベースを開いている間に、基礎となる JET データベースにアクセスしようとするサブプログラム (長い話) も実行します。
問題は、VBA を使用して Form オブジェクトの編集を開始するとすぐに (Application.LoadFromText を使用して)、Access がデータベースを排他モードに変更することです。排他モード自体は問題なく、なぜそれが必要なのかはわかっています。しかし、サブプログラムを実行できるように、後で「共有」モードに戻す必要があります。
UI を使用してデザイン モードでフォームを開くと、Access によってデータベースが排他モードに切り替えられることがわかりました。(これは、別のコンピューターから開いてみることで確認できます。) しかし、フォーム デザイナーを閉じると、Access はすぐに共有モードに戻ります。
VBA / COM呼び出しを使用して自分で切り替える方法はありますか?
Application.CloseCurrentDatabase() に続いて OpenCurrentDatabase() を呼び出すことができることはわかっていますが、それはすべてのウィンドウを閉じて UI をひっくり返すので、理想的ではありません。
ms-access - Access2007でField2にアクセスする
Access2007データベースに保存されている添付ファイルを電子メールで送信するための簡単なルーチンを作成しようとしています。どういうわけか、私はそれの最も単純な部分を機能させることができません。
次の行に「ユーザー定義タイプが定義されていません」というエラーが表示されます。
この時点まで、DAOオブジェクトにはまだアクセスしていませんが、関連する参照を追加するだけでよいと想定していました。実は、私はその参照が何であるかについて誤解しているようです。意味のある「MicrosoftDAO3.6Object Library」を試しましたが、それでも同じエラーメッセージが表示されます。次に、同じ3.5を試し、次にJETを試し、さらにいくつか試しましたが、あまり意味がありませんでした。
これが完全なリストです。本当に基本的な何かを見逃した場合に備えて。非常に多くのクリーンアップが必要なことはわかっていますが、最初に機能させたいと思います。
何か案は?