2012-05-11 8 views
1

"好き"のユーザーの名前と姓の両方を照会したいとします。両方のフィールドはデータベースの2つの列として分離されています。どのように私はスタートモード(abc%のような)でクエリすることができます、ここではSQLクエリコードです。2つのフィールドのHibernate条件を同じクエリと一緒に作成する

Query query = getSession().createQuery("from UserAccount where name || ' ' || surname like '" + fullName + "%'"); 

基準を指定する方法は?

ありがとうございました!

+0

解決策はありますか?助けてください! –

+0

"はDB2では動作していますが、PostgreSQLに対しては" postgresqlに対して何を実行したのですか? – Firo

+0

私はもう一度試してみましたが、現在PostgreSQLの問題はありません。しかし、私はまだ基​​準でそれをすることはできませんでした。 –

答えて

1

実際は非常に簡単です。

Criteria criteria = session.createCriteria(UserAccount.class) 
    .add(Property.forName("name").like("abc")) 
    .add(Property.forName("surname").like("def")); 

代わりのProperty.forName() 1はRestrictionsを使用することができます。例:Restrictions.like("name", "abc")

+0

これは、2つの列の条件を一緒にするのに役立ちません。これは2つのフィールドを分離して照会します。これは単にname_field == name%とsurname_field == surname%を照会するのに役立ちます。私はquery name_field + surname_field ==(name + surname)%する必要があります –

関連する問題