- - PR -
複数個の検索条件があるSQLの組み立て
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-10-02 21:21
失礼します。現在、文章検索システムを考えているのですが、
検索用テキストボックスに下記のように複数のワードを指定された場合 例)[ 本△java ] (△=スペース) SELECT * FROM Book WHERE title LIKE '%本%' AND title LIKE '%java%'; のようなSQLが発行されるような仕組みを考えています。 そこで質問なのですが、検索用ワードの数によって検索条件の個数(LIKE句等)を 動的に変えなければならないSQLを組みたい場合に使えるフレームワークや ライブラリなどはあるのでしょうか? HibernateのCriteria session.createCriteria(Book.class).add(Expression.like("title", "%本%")) が解決方法の候補としてあるのですが、 他に良い方法などあればご教授ください。 |
|
投稿日時: 2008-10-02 23:05
組み立て処理のためにHibernateを使うということですか?
Hibernateで組み立て処理を行いたいということですか? 自分の感覚ですが、SQLの組み立てぐらいたいした処理ではないと思っていますので、 普通にJDBCを使うなら、検索条件をスプリットしてループで組み立ててしまいます。 そのためだけにライブラリを増やしたりしたくないですね。 (ライブラリのバージョンや依存の管理も面倒) |
|
投稿日時: 2008-10-03 10:00
直接の答えではありませんが、複雑な全文検索を行うのであればデータベースではなく検索エンジンを使うことをお勧め致します。
Hibernate を使っているのであれば Hibernate Search がいいかもしれませんね。 http://www.thinkit.co.jp/free/article/0711/7/1/ [ メッセージ編集済み 編集者: インギ 編集日時 2008-10-03 10:02 ] |
1