2011-03-04 9 views
2

オブジェクト私は、Hibernate名前付きクエリを定義したので、私はcriteria.getNamedQuery()、ここでにHibernateと連携する方法を一緒に

を使用して、このクエリを取得しています私は判断基準でこれを統合したいオブジェクトを、私はそのように余分な制約がかかります。

ご了承ください。

よろしく、 ラジュ

+0

Criteria.getNamedQuery()メソッドはありません。なぜ名前付きクエリを使用するのか、それともCriteria APIを使用してクエリを作成するのか –

+0

@Robby Pond:私たちはテーブルとの直接の関係を持っていません。私は名前付きのクエリを持っています。条件と名前付きクエリの組み合わせでは不可能な場合は、名前付きクエリのlike節をどう言いますか?s.nameは、 %searchName % – rajputhch

答えて

2

あなたは、あなたがSqlQueryクラスにしたい任意のクエリを作成することができ、事前に構築された名前付きクエリに句を追加しないでください。

名前付きクエリを変更してlike節を追加することもできます。あなたのクエリが

select * from sometable where somevalue like :likeWhat 

編集だろう

session.getNamedQuery("findStuff").setString("likeWhat", value); 

また

Query q = session.getNamedQuery("findStuff"); 
String query = q.getQueryString(); // the sql statement 
query += " and findStuff like :likeWhat"; // add your clause 
q = session.createQuery(query); 
q.setParameter("likeWhat", value); 

ような何かを行うことができますしかし、私はそれはハックだと思います。

+0

%likewhat%のように適用できますか? – rajputhch

+0

@rajそれは暗黙のことです。 –

+0

これを追加するには? – rajputhch

関連する問題