2010-11-24 12 views
1

grails criteria builderを使用して、次のhibernateクエリを書き換えることはできますか?grails GORM検索条件のフィールドを連結

select p from Person as p 
where lower(p.firstname) + ' ' + lower(p.lastname) like '%john doe%' 

おかげで、 ヴァルデマー

+0

ドメインの観点からは、複数のフィールドを1つのフィールド(例: 'Person.fullName')にまとめることだけを考えましたか?名前がアプリケーション全体で単一の文字列として扱われる場合、それを分割するのはおそらく意味がありません。さらに、異なる文化や偏心を導入すると、ファーストネーム/ラストネームのデザイン全体がうんざりすることがあります。 「Bono」または「Sting」は名または姓ですか? :) –

+0

はい、私はそれを考慮しましたが、残念ながら、この場合はオプションではありません。そして、質問はとにかく私が思うと面白いです:) – Valdemar

答えて

0

はこのようなものはOKでしょうか?

or { 
    ilike('firstname', '%fred%') 
    ilike('lastname', '%fred%') 
} 
+0

いいえ、私は、たとえば、名と姓の両方を介して "ジョンダウ"を検索することができます。 – Valdemar

+0

私が考えることができるのは、sqlRestriction節を使用することだけです。 –

+0

また、 'または'の中で約4つの条件を考えることができます。 –

関連する問題