-2

私は現在卒業論文を書いていますが、データベース通信のトピックで行き詰まっています。私の問題は実装ではなく、背後にあるアーキテクチャJSFです。私はそれについて多くのことを読みましたが、実際にはわかりません。

データベースへのアクセスはすべてEJBプロジェクトに含まれており、JDBC で処理されます。JPA は、DB エンティティとオブジェクト間のマッピングを行います。JDBCDBに接続するドライバだけですか?

前もって感謝します!

4

2 に答える 2

1

プロジェクトのアーキテクチャは、「低結合と高結束」の原則に従って適切に編成されている必要があります。

システム層は十分に分離する必要があります。基本アーキテクチャには 3 つのレイヤーがあります。

  1. プレゼンテーション層: JSF マネージド Bean はこの層にあります。このレイヤーのタスクは、ユーザー アクションに対応し、ユーザー データを保持し、ユーザーにデータを表示することです。基本的に、その責任は、使用する実装 (JSF、Spring MVC、または Struts) に関係なく、MVC パターンによって制限されます。
  2. Bussimess ロジック層: ページから収集されたデータとアクションは、データを操作するためにこの層に送信されました。データを操作して、プレゼンテーション層内で応答を準備しないでください。Business Logic Tier の担当です。(Spring、CDI)
  3. 統合層: データベースへのアクセスは、使用するライブラリテクノロジ (Hibernate、JPA、JDBC) に関係なく、この層で行う必要があります。

エンタープライズ Java アーキテクチャのサンプル

写真でわかるように。JSF マネージド Bean は、ページ (コントローラー) およびページ データ (モデル) からの要求のみを処理できる必要があります。この回答を見て、JSF MVC を理解することができます。したがって、JSF マネージド Bean 内の DB には接続しない方がよいでしょう。それは良い習慣ではありません。

あなたの質問の2番目の部分。すべてのテクノロジー、Hibernate、JPA、Spring JDBC は、関連する DB の JDBC ドライバーを使用します。JDBC Drivers は、DB に接続するだけのものです。ただし、DB、Hibernate、JPA、または Spring JDBC に接続する方法を選択することをお勧めします。

このアーキテクチャを基本的に実装したサンプル アプリケーションをダウンロードできます。

于 2013-05-05T19:17:54.007 に答える