1

「GenericDAO」を拡張するDAOクラスがあります

Generic dao には、getter と setter を持つ LanguageId 変数があります。

セッションから言語 ID を取得します。

genericDAO言語 ID を直接設定する方法はありますか。dao クラスを使用するたびに、コントローラーから languageId を渡す必要がないようにするにはどうすればよいですか?

最後に私が欲しいのは、getLanguageId()daoオブジェクトでできるはずです。

4

2 に答える 2

3

通常、DAO はシングルトンとしてセットアップされるため、すべての異なるスレッドが使用するインスタンスは 1 つだけです。その場合、他のユーザーが影響を受ける可能性がなければ、1 人のユーザーに言語を設定することはできません。それをメソッド引数として渡すことが、他のスレッドが誤って間違った言語 ID を取得しないようにする唯一の安全な方法です。 . したがって、やりたいことができるかどうかは、DAO のスコープによって異なります。

于 2012-07-24T19:27:18.940 に答える
0

DAOのまさにポイントは、セッションがいくつかのステートフルな情報を表す間、それらはステートレスであるということです。すべてのステートフル情報は、メソッドの引数を介してDAOに渡されることになっています。

したがって、DAOにgetLanguageId()が必要な場合は、セッションごとにDAOインスタンスを作成し、作成中にlanguageIdを注入する運命にあります。

于 2012-07-24T19:00:52.303 に答える