[Hibernate] Buscar mais de uma palavra

Pessoal,
qual a melhor maneira de fazer um sistema de busca por mais de uma palavra usando hibernate?
Estive pensando em criar um método que recebece uma string do inputText e usar split(" ") para separar as palavras… como ficaria o metodo de busca usando hibernate?
Valeu

Vc pode tentar com OU. Algo do tipo, na hora de criar a query dinamicamente

StringBuffer str = new StringBuffer("");

str.append("select o from Objetinho o 
where "); 

for (int i = 0; i < listArgumentos.size(); i++){
  str.append(" o.atributo like :atrib" + i + " or"); 
}

Daí retira o último "or", cria a query com essa str, e seta os namedParam um por um, com um "for" igual o exemplo. Mas coloque "%" + listArgumentos[i] + "%" pra ficar parecido com o que vc quer.

Não sei se é melhor solução, mas é uma…

Obrigado pela resposta CintiaDR,
mas preciso usa-lo com DetachedCriteria, em relação a junção dos parametros, pensei de fazer dessa fora :
Ex.:


List<String> array = new ArrayList<String>();
StringBuffer words = new StringBuffer();

public String testeBusca(){
       
        words.append("select * from noticia where mensagem");
        array.add(" palavra 1");
        array.add(" palavra 2");
        array.add(" palavra 3");
        array.add(" palavra 4");
        for (int i = 0; i < array.size(); i++) {          
               words.append(" like %"+array.get(i)+"% or");                       
        }
        // Retira o ultimo "or" da sentença
        String sql = words.substring(0, words.length() -2);
        return sql;
}

Como faria com DetachedCriteria ?
Grato