Spring3からSpring4にアップグレードした後、HibernateTemplateに互換性のないタイプのエラーがあります

マット・レイブル

Springの最新バージョンを使用するようにアプリケーションをアップグレードしようとしています。現在、Spring3.0.7とHibernate3.5.6を使用しています。Spring 3.2.8に正常にアップグレードできますが、Spring 4にアップグレードすると、次のようなコンパイルエラーが発生します。

[ERROR] /Users/mraible/dev/foo-upgrades/foo-core/src/main/java/com/company/foo/dao/companydb/impl/hibernate/InFaxDAOImpl.java:[71,82] incompatible types
[ERROR] required: java.util.List<com.company.foo.common.domain.FaxPage>
[ERROR] found:    java.util.List<capture#49 of ?>

メソッド呼び出しは次のようになります。

List<FaxPage> faxPages = getHibernateTemplate().findByNamedQueryAndNamedParam(queryName, hqlParams, values);

リストタイプにキャストすることでコンパイルエラーを修正できますが、それは正しくないようです。

List<FaxPage> faxPages = (List<FaxPage>) getHibernateTemplate().findByNamedQueryAndNamedParam(queryName, hqlParams, values);

下位互換性がないようにHibernateDaoSupportを壊すSpring4についてはどうですか?

ステファン・ニコル

これは、Springフレームワークが生のリスト宣言を返すために使用され、その生のリスト宣言では基本的に任意の型を宣言できるためです。これを行うと、コンパイラーは、@SuppressWarnings("unchecked")宣言で「無視」できる警告を発行します

これには下位互換性が提供されている可能性がありますが、多くの参照では、「新しいコード」でrawリストを使用しないことを提案しています。

Java言語仕様の引用

raw型の使用は、レガシーコードの互換性への譲歩としてのみ許可されます。Javaプログラミング言語にジェネリックスを導入した後に記述されたコードでraw型を使用することは強くお勧めしません。Javaプログラミング言語の将来のバージョンでは、raw型の使用が許可されなくなる可能性があります。

このスレッドは、その問題の良い要約です。

私はあなたが以前できたことの利点を確かに理解できますが、あなたがしたようにあなたのコードを更新することをお勧めします、はい:あなたはとにかく以前に暗黙のキャストをしていました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Spring3.2.3からSpring4にアップグレードした後のエラー

分類Dev

互換性のないピアの依存関係が見つかりました-Angularを8から9にアップグレードします

分類Dev

Spring3からSpring4への移行とHibernate4へのアップグレード

分類Dev

Javaには下位互換性がありますが、jdkを1.6から1.8にアップグレードするときに、多くのライブラリをアップグレードする必要があるのはなぜですか。

分類Dev

pg gem が 0.19 から 0.20 にアップグレードされました - LoadError: 互換性のないライブラリ バージョン

分類Dev

GemファイルはRails4からRails5にアップグレードするときにインストールされる依存関係を要求していますが、互換性のあるバージョンが見つからなかったと表示されます

分類Dev

Spring Security3からSpringSecurity 4にアップグレードした後に例外が発生しますか?

分類Dev

Xcode 6にアップデートした後、多くの互換性のない変換割り当ての警告/エラーが表示されました

分類Dev

タイプ(String、Int、Boolean)のオーバーライドメソッド=> Doubleに互換性のないタイプがあります

分類Dev

Spring4のアップグレード-クラスCommonsHttpInvokerRequestExecutorが欠落しています

分類Dev

エラー:互換性のないタイプvoid *からchar *に割り当てています

分類Dev

Angular 2 から 4 にアップグレードした後のタイプ エラー

分類Dev

エラー:互換性のないタイプ:推論変数Rに互換性のない境界があります(Lambda java 8)

分類Dev

セレクターを使用したオーバーライドメソッドのタイプに互換性がありません-Swift

分類Dev

フラッターをアップグレードした後に見つからないクラスがあります

分類Dev

Rails4からRails5にアップグレードした後、カスタムエラー処理が機能しなくなりました

分類Dev

エラーの原因となるC ++セットイテレータ。式:マップ/セットイテレータに互換性がありません

分類Dev

スレッドの作成中にエラーが発生しました。警告:互換性のないポインタ型から「pthread_create」の引数3を渡します

分類Dev

グラフィックカードをアップグレードします。現在のビルドと互換性がありますか?

分類Dev

DataBindingUtil.setContentView-タイプパラメーターTに互換性のない上限があります

分類Dev

CodeIgniter 3にアップグレードした後、「SQL構文にエラーがあります」

分類Dev

Google AppsScriptエラー-Googleスプレッドシートから複数の行がありますがGoogleドライブに1つのファイルしかありません-「イテレータが最後に到達しました」

分類Dev

エラー: 'CUPSサーバーへの接続に問題がありました。'14.04から14.10へのアップグレード後

分類Dev

エラー: 'CUPSサーバーへの接続に問題がありました。'14.04から14.10へのアップグレード後

分類Dev

17.04から17.10にアップグレードした後、インターネットがありません

分類Dev

アクセスが拒否され、申し訳ありませんが、プラグインSpring SecurityコアをGrailsで2.0バージョンにアップグレードした後、このページを表示する権限がありません

分類Dev

カーネルのアップグレード後に再起動しないと、問題が発生する可能性がありますか?

分類Dev

テンプレート「ログイン」の解決中にエラーが発生しました。テンプレートが存在しないか、構成されたテンプレートリゾルバーのいずれからもアクセスできない可能性があります

分類Dev

奇妙なエラー。互換性のないタイプ「returnmFragmentList.get(position);」の行にエラーがあります。

Related 関連記事

  1. 1

    Spring3.2.3からSpring4にアップグレードした後のエラー

  2. 2

    互換性のないピアの依存関係が見つかりました-Angularを8から9にアップグレードします

  3. 3

    Spring3からSpring4への移行とHibernate4へのアップグレード

  4. 4

    Javaには下位互換性がありますが、jdkを1.6から1.8にアップグレードするときに、多くのライブラリをアップグレードする必要があるのはなぜですか。

  5. 5

    pg gem が 0.19 から 0.20 にアップグレードされました - LoadError: 互換性のないライブラリ バージョン

  6. 6

    GemファイルはRails4からRails5にアップグレードするときにインストールされる依存関係を要求していますが、互換性のあるバージョンが見つからなかったと表示されます

  7. 7

    Spring Security3からSpringSecurity 4にアップグレードした後に例外が発生しますか?

  8. 8

    Xcode 6にアップデートした後、多くの互換性のない変換割り当ての警告/エラーが表示されました

  9. 9

    タイプ(String、Int、Boolean)のオーバーライドメソッド=> Doubleに互換性のないタイプがあります

  10. 10

    Spring4のアップグレード-クラスCommonsHttpInvokerRequestExecutorが欠落しています

  11. 11

    エラー:互換性のないタイプvoid *からchar *に割り当てています

  12. 12

    Angular 2 から 4 にアップグレードした後のタイプ エラー

  13. 13

    エラー:互換性のないタイプ:推論変数Rに互換性のない境界があります(Lambda java 8)

  14. 14

    セレクターを使用したオーバーライドメソッドのタイプに互換性がありません-Swift

  15. 15

    フラッターをアップグレードした後に見つからないクラスがあります

  16. 16

    Rails4からRails5にアップグレードした後、カスタムエラー処理が機能しなくなりました

  17. 17

    エラーの原因となるC ++セットイテレータ。式:マップ/セットイテレータに互換性がありません

  18. 18

    スレッドの作成中にエラーが発生しました。警告:互換性のないポインタ型から「pthread_create」の引数3を渡します

  19. 19

    グラフィックカードをアップグレードします。現在のビルドと互換性がありますか?

  20. 20

    DataBindingUtil.setContentView-タイプパラメーターTに互換性のない上限があります

  21. 21

    CodeIgniter 3にアップグレードした後、「SQL構文にエラーがあります」

  22. 22

    Google AppsScriptエラー-Googleスプレッドシートから複数の行がありますがGoogleドライブに1つのファイルしかありません-「イテレータが最後に到達しました」

  23. 23

    エラー: 'CUPSサーバーへの接続に問題がありました。'14.04から14.10へのアップグレード後

  24. 24

    エラー: 'CUPSサーバーへの接続に問題がありました。'14.04から14.10へのアップグレード後

  25. 25

    17.04から17.10にアップグレードした後、インターネットがありません

  26. 26

    アクセスが拒否され、申し訳ありませんが、プラグインSpring SecurityコアをGrailsで2.0バージョンにアップグレードした後、このページを表示する権限がありません

  27. 27

    カーネルのアップグレード後に再起動しないと、問題が発生する可能性がありますか?

  28. 28

    テンプレート「ログイン」の解決中にエラーが発生しました。テンプレートが存在しないか、構成されたテンプレートリゾルバーのいずれからもアクセスできない可能性があります

  29. 29

    奇妙なエラー。互換性のないタイプ「returnmFragmentList.get(position);」の行にエラーがあります。

ホットタグ

アーカイブ