2012-03-02 14 views
0

私は休止状態を使用しています。私はwhere条件を動的に追加する必要があります。私は弦のリストを送る。
select * from employee上記のシナリオで名前付きパラメータを使用する方法は?

今、私のようにwhere条件を追加する必要があります。ここでは
select * from employee where name like :somename or name like:othername

somenameothernameはパラメータ名前が付けられています。値は文字列のリストから設定されます。
この場合、リストには2つの文字列を含めることができるため、名前付きの両方のパラメータ値を設定できます。

どのように名前付きパラメータに名前を使用できますか?

今、私は名前付きパラメータの両方の文字列のリストを使用しており、その値を設定しています。
名前付きのパラメータを使用するには制限がほとんどありません。

名前付きパラメータには特殊文字( - 、/およびスペース)を使用しないでください。また、paramという名前は、30文字()を超えてはいけません。

私の文字列のリストに上記の特殊文字を持つ名前があるか、その長さが30文字を超える場合、このような文字列が名前付きparamとして使用されていると例外がスローされます。

リスト内の各文字列に名前付きパラメータを使用するにはどうすればよいですか?

+0

あなたの質問は、判読不能なテキストの壁です。人々が実際にそれを読んでほしいので、それを分解してみてください。 – skaffman

答えて

0

はあなたがよく「どこで」基準のAPIとprobelmすべきではないの束を選択 http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.html

を基準APIを使用してみましたが... がちょうどLIKE%

を気にし、これをチェックアウト、詳細が必要な場合は教えてください。 http://www.javalobby.org/articles/hibernatequery102/

+0

こんにちは。ここでは例として私は単純な従業員のクエリを述べた。しかし、実際のクエリは、私は条件を使用することができないネイティブSQLクエリを使用する必要がありますがあまりにも複雑です。 – user1016403

+0

私は私の答えを編集しました。確認してください。 – Darwly

+0

こんにちはdarwlyさん、ありがとうございました。リンクは基準について語ります。しかし、私はネイティブSQLを使用する必要があります。私の唯一の質問は、ここで私は名前付きパラメーターとして使用する必要がある名前ですか? 〜 – user1016403

関連する問題