-2

EJB は十分に最適化された純粋な JDBC よりも遅いですが、ここではhttp://www.javaperformancetuning.com/news/qotm047.shtmlと言われています

「単純な JDBC/EJB の比較では、JDBC が EJB によって生成された JDBC と同じくらい効率的であると想定しています。コンテナ ベンダーには、最適な SQL の作成に精通した専門の開発者がいる可能性があるため、これは決して確実ではありません。」

JBoss、Glassfish、TomEE 間の最適化のロジックを知るにはどうすればよいですか? 一般的な最適化は時期尚早の最適化の一種であるため、特定のアプリケーションに実際に適していることをどのように知ることができますか? 何らかの方法で生成されたコードを確認できますか? はい、必要に応じてその最適化をオーバーライドできますか?

4

2 に答える 2

1

はい、生成されたSQLを確認できます。また、通常は独自のSQLを使用できます。ほとんどのJavaEEコンテナは、hibernateやeclipselinkなどの他のjpaライブラリを使用します。これらのライブラリには、使用しているSQLを表示する方法があります。また、独自のjpqlまたはsqlを使用する方法もあります。

于 2012-05-19T23:49:56.543 に答える
1

JBoss、Glassfish、TomEE 間の最適化のロジックを知るにはどうすればよいですか?

生成された SQL を確認し、ソース コードを調べます。また、ドキュメントを読むことによって。

一般的な最適化は時期尚早の最適化のようなものであるため、特定のアプリケーションに実際に適していることをどのように知ることができますか

それは意味がありません。「時期尚早の最適化」症候群とは、最適化が必要であることが確立される前に、プログラマーがコードの最適化に時間を費やしている場合です。対照的に、コンテナーによって実行されている最適化は自動的に行われ、開発者の時間はゼロになります。

: 何とか生成されたコードを確認できますか?

はい。ただし、それを行う方法はコンテナ固有です。コンテナー固有のドキュメントをお読みください。

はい、必要に応じてその最適化をオーバーライドできますか?

容器にもよると思います。


この回答に共通のパターンがあることに気付きましたか? また、Tomcat は EJB コンテナーではなく、"TomcatEE" などは存在しないことにも注意してください。

于 2012-05-20T02:26:22.277 に答える