Consulta com Hibernate

Boa tarde a todos!

Pessoal queria fazer uma consulta no banco usando hibernate do seguinte modo:

select count(*) from cliente where nome like '%m%'

porém fiz dessa maneira e não funciona

public long countSearch(String c){
		Query q = session.createQuery("select count(*) from Cliente where nome like %:caracter%");
		q.setParameter("caracter", c);
		return (Long) q.uniqueResult();
	}

Alguem saberia me informar onde estou errando?

Desde já agradeço.

Bom, primeiro:
É sempre uma boa prática você fazer count(1) ao invés de count(*) pois assim ele só verifica a primeira coluna e não todas.

Segundo:
Dá para dar uma simplificada nesse select:

Terceiro:
Acho que se você fizer com Criteria fica mais fácil e dá para reaproveitar o código (supondo que queremos receber esses Clientes além de contá-los):

private Criteria buildCriteria(String nome) {
   return session.createCriteria(Cliente.class).add(Restrictions.ilike("nome", nome, MatchMode.ANYWHERE));
}

public Long count(String nome) {
   return (Long) this.buildCriteria(nome).setProjection(Projections.rowCount()).uniqueResult();
}

public List<Cliente> list(String nome) {
   return this.buildCriteria(nome).list();
}

Aqui mostra esses e outros métodos: JPA Consultas e Dicas.