1


0

これら2つのモデルのパフォーマンスの違いはどれくらいありますか? 一方を他方に使用する理由は何ですか。

私のアプリケーションでは、同じステートメントをたくさん使って、オブジェクトとプリミティブの両方を返しています。 いくつかのOracleストアドプロシージャ呼び出しがあり、これらのパフォーマンスが最優先事項です。

1 Answer


1


おそらく、その意図は spring docで最もよく捉えられています。 たとえば、UpdateAcccountを操作として持つことができ、それを呼び出すたびに必要なパラメータのみを渡します。 独自のカスタムクラスであるため、型チェックと検証ロジックはカスタムメイドにすることができます。 一方、JDBCTemplateは、呼び出しを行うたびにsql、parameters、行マッパーを渡す従来のJDBCをモデルにしています。 おそらくあなた自身で検証ロジックとパラメータ変換を構築する必要があります。

org.springframework.jdbc.coreパッケージには、JdbcTemplateクラスとそのさまざまなコールバックインターフェース、およびさまざまな関連クラスが含まれています。

次に、org.springframework.jdbc.objectパッケージには、RDBMSクエリ、更新、およびストアドプロシージャをスレッドセーフで再利用可能なオブジェクトとして表すクラスが含まれています。 このアプローチはJDOによってモデル化されていますが、もちろんクエリによって返されたオブジェクトはデータベースから「切り離されて」います。 この上位レベルのJDBC抽象化は、org.springframework.jdbc.coreパッケージの下位レベルの抽象化に依存します。

パフォーマンスの違いはわかりませんが、RdmsOperationコードは非常にわかりやすいので、大きなオーバーヘッドを招くことはありません。 しかし、 docが言ったように、それはプログラミングの選択です。 一部の人々は、前のものがより単純であると感じる一方で、伝統的なものがより直接的であると感じています。