0
名前付きクエリを作成して、年単位でデータを取得しています。名前付きクエリのパラメータとして列名を送信する方法
クエリ
SELECT * FROM table1
WHERE ((year1 > 0) OR (year2> 0 OR (beyondYear2> 0)));
クエリが正常に動作しています。 JSP
から私は年を選択しますので、その特定の年にはレコードが読み込まれます。上記のクエリは、すべての年の範囲のデータを読み込みます。毎年クエリを書くのを避けるためにパラメータとしてColumn Name
を渡すことができる方法はありますか?
SELECT * FROM table1
WHERE (:yearRange > 0);
:yearRange:パラメータとして。
私はJavaからそれを送ってはどうすればよいですか? setString()またはsetParameter()を使用する必要がありますか?と私はこの部分を理解していない ':yearRange = 'year1'' – Sam
setParameter、その通常のクエリパラメータ – Turo
いいえ、それは動作しません。 '重大:無効な列 名前 org.hibernate.exception.GenericJDBCException:実行できませんでした クエリ' – Sam