Consulta em hibernate

Pessoal como é que eu faço para obter o retorno de uma lista de objetos que possuam uma determinada subString dentro de uma String usando hibernate.

por exemplo no banco de dados eu tenho 10 registros onde o primeiro nome é Maurilio.

Maurilio Fernando
Maurilio Carlos
… e etc

eu quero q ele retorne todos que contenham esse nome maurilio no campo nome. Tentei fazer algo assim mas não tive sucesso.

[code]
public Collection listaCoordenadores(String criterio){

	session=CreateSessionFactory.openSession();
	
	List c= session.createCriteria(Coordenador.class).add(Restrictions.eq("nome",criterio.contains(criterio))).list();
	
	return c;
	
}[/code]

Creio que assim:

List c= session.createCriteria(Coordenador.class).add(Restrictions.like("nome",criterio,MatchMode.ANYWHERE)).list();

Jovem,
Use o crit.add(Restrictions.like(“name”,“Mauricio%”)) creio que com isso resolve o seu problema.

abs,

Sem sucesso cara fiz dessa forma

como o método assim e nada agradeço a ajuda de todos. O que mais posso testar??

Lembrando que o paramentro recebido pelo método é qualquer subString que pode estar contida no campo nome.

[code]

public Collection listaCoordenadores(String criterio){

	session=CreateSessionFactory.openSession();
	
	List c= session.createCriteria(Coordenador.class).add(Restrictions.like("nome","criterio%")).list();
	
	return c;
	
}[/code]

use o q o kanin postou e dps pesquise sobre, vai ver qta coisa dah pra fazer com essa API.

Do jeito que passei é o equivalente a fazer like ‘%’+criterio+’%’, ou seja, a palavra procurada pode estar em qualquer posição. Teria que ter funcionado.

List c= session.createCriteria(Coordenador.class).add(Restrictions.like("nome",criterio,MatchMode.ANYWHERE)).list();  

Caso queira somente as que iniciam com a palavra (Ex. LIKE ‘Mauricio%’) então troque o MatchMode para MatchMode.START, que é o jeito sugerido pelo Kanin.
Se preferir usar o ‘%’ diretamente como o Kanin sugeriu e não MatchMode você terá que colocar obviamente sua variável e não a palavra criterio do jeito que você fez, o certo seria assim:

List c= session.createCriteria(Coordenador.class).add(Restrictions.like("nome",criterio+"%")).list();

Sugiro que você configure o Hibernate a mostrar os SQL gerados, assim poderá ver o que está acontecendo, o que pode ser feito assim:

<property name="hibernate.show_sql" value="true"></property>