[解決済み] HibernateのHQL結果で型安全警告を回避する方法とは?
2022-10-24 16:09:48
質問
例えば、このような質問があります。
Query q = sess.createQuery("from Cat cat");
List cats = q.list();
このようなものを作ろうとすると、次のような警告が表示されます。
Type safety: The expression of type List needs unchecked conversion to conform to List<Cat>
List<Cat> cats = q.list();
回避する方法はありますか?
どのように解決するのですか?
使用方法
@SuppressWarnings
を使用するのは良い方法ですが、提案されたように
q.list()
.
他にも2つのテクニックを提案します。
キャストヘルパーを書く
単純に、すべての
@SuppressWarnings
を一カ所にまとめるだけです。
List<Cat> cats = MyHibernateUtils.listAndCast(q);
...
public static <T> List<T> listAndCast(Query q) {
@SuppressWarnings("unchecked")
List list = q.list();
return list;
}
不可避な問題に対してEclipseが警告を生成しないようにする
Eclipse の Window>Preferences>Java>Compiler>Errors/Warnings で、Generic type で、チェックボックスを選択します。
Ignore unavoidable generic type problems due to raw APIs
これにより、上記のようなやむを得ない類似の問題に対して、不要な警告をオフにすることができます。
いくつかのコメント
-
を渡すことにしました。
Query
の結果ではなくq.list()
なぜなら、このメソッドはHibernateで不正を行うためにのみ使用でき、すべてのList
を不正に使用することはできません。 -
に対して同様のメソッドを追加することができます。
.iterate()
などに同様のメソッドを追加できます。
関連
-
セミコロン期待値エラー解決
-
eclipse にリソースリーク:'in' が閉じない
-
org.xml.sax.SAXParseExceptionのエラー解決方法
-
linux ant Resolve error: main class not found or couldn't be loaded org.apache.tools.ant.launcher.
-
CAS 5.1.8でhttpをサポートし、認証されていない認可サービスエラーのプロンプトが表示される問題を解決した。
-
[解決済み] タイプの安全性。アンチェック・キャスト
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] チェックされていないキャストの警告に対処するにはどうすればよいですか?
-
[解決済み】JSP 2を使用して、JSPファイル内のJavaコードを回避するにはどうすればよいですか?
-
[解決済み] The expression of type List needs unchecked conversion...'を修正するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
型に解決できない エラー解決
-
Java の switch case 文で必要な定数式の問題の解決法
-
シェルコマンドやスクリプトのJavaコール
-
Junitのユニットテストはjava.lang.Testを報告します。
-
keytool error: java.io.FileNotFoundException: cacerts (アクセス拒否されました。)
-
ジャバアレイ
-
eclipse にリソースリーク:'in' が閉じない
-
Java Runtime Environmentを継続するためのメモリが不足しています。
-
Java JDKのダイナミックプロキシ(AOP)の使用と実装の原理分析
-
[解決済み] The expression of type List needs unchecked conversion...'を修正するには?