0

TomcatでSpringを使用して1つのアプリケーションを作成し、JBoss AS7でJavaEE(EJB + JSF)を使用して2番目のアプリを作成しました。ORMとしてHibernateを選択するか、そう思います。

旅行のオファーがあるページがあるとします。リンクをクリックすると、AJAXを使用して旅行の説明を読み込むことができます。

Springバージョンでは、説明リンクを選択した後、1つのクエリのみがデータベースに送信されます。これはいい。

しかし、Java EEバージョンでは、同じ場合、7つのクエリが送信されます。現在のサイトに表示されている各旅行オファーの7つのクエリ。したがって、4つのトリップオファーが表示された場合、4*7のSQLクエリがあります。そのため、パフォーマンスが低くなります。

サービス層、つまりSQLクエリは、両方のバージョンで同じです。Springバージョンでは、リクエストはjQueryを使用して(郵送で)送信されます。Java EEでは、JSFAJAXサポートを使用しています。

この動作の原因は何ですか?よくわかりませんが、JavaEEバージョンではHibernateが実際に使用されていない可能性がありますか?persistence.xmlには、次のものがあります<provider>org.hibernate.ejb.HibernatePersistence</provider>

4

1 に答える 1

0

最初に、複数の SQL クエリがクライアントによって誘発されたものなのか、それともバックエンドに別のものがあるのか​​を判断する必要があります。

Firebug または同様のツールを開いて、ブラウザが多数の個別の HTTP リクエストを送信しているかどうかを確認してください。

于 2012-08-17T17:58:37.247 に答える