おはよう、
ほとんどの場合、に続いてDAOレイヤーを作成しようとしています。
私はフレームワークを使用していないことに注意してください。単純なJDBCです。DAOレイヤー内のJDBC接続
は、Connectionインスタンスを作成する上で見てみましょう:各CRUDメソッド内
を、私たちは次のような接続を得る:
Connection connection = daoFactory.getConnection();
だから我々は、新しい接続に我々はメソッドを呼び出すたびに取得します。
ここで取引を実装する方法は唯一の質問です。
私は2つのソリューションを参照してください。代わりにDaoFactoryフィールドの
- を、私は方法のうち共有接続のフィールドを使用します。 DAOごとに1つのConnectionを持つように。しかし、どの層がトランザクションを担当すべきか?私はサービス - DAOの間に何かを創り出すべきですか?
- 私は、トランザクションを作成するために必要な他のDAOのインスタンスのフィールドを作成します。例えば、私は1つの作成と2つの更新アクションを行う必要があるため、TransactionDaoにbankDransfer(1人のユーザーからの収入と別のユーザーへの追加)を実装する場合、このTransactionDaoにもUserDaoがあります。
私は多分それは上記のどれもない、適切なソリューションを知ってほしいです。
私は心配する必要がある並行処理の問題もありますか教えてください。
は
地獄は、私は、人々は特に新しいユーザーによって、完全に合理的な質問を閉じるために投票見たときに私が感じるものに比べて何の憎しみを持っていません。 –
私はあなたがこのhttp://stackoverflow.com/questions/12812256/how-do-i-implement-a-dao-manager-using-jdbc-and-connection-pools?answertab=oldest#tab-topこれを読むことをお勧めあなた自身の質問に答えるのに役立つかもしれません。 – fabfas