Problema na passagem de parametros do createQuery

Galera, uma dúvida de quem está começando.
Estou criando uma consulta onde pesquiso usuarios passando como parametro no metodo o objeto usuario.
O problema é que não consigo montar o parametro (setParameter), pois ele pede um objeto.

Outra duvida: como eu faço para selecionar passando parte do texto, tipo ‘ROMU%’?

public Collection<romulor2.bel.Usuario> pesquisarUsuario(Session sessao, romulor2.bel.Usuario usuario) 
	{
		String query = "from Usuario u where ";
		Query pesquisa;
		
		if(usuario.getLoginUsuario() != null)
		{
			query = query = "txloginusuario = :txloginusuario";
			Query.setParameter("txloginusuario", usuario.getLoginUsuario(),Type.String);
		}
		if(usuario.getNomeUsuario() != null)
		{
			query = query = "txnomeusuario = :txnomeusuario";
                        Query.setParameter("txnomeusuario", usuario.getNomeUsuario(),Type.String);
		}		
		
                ...
		pesquisa = sessao.createQuery(query);
		
		
		return pesquisa.list();
	}

Vc está importando a classe Query de onde? Utilize o org.hibernate.Query, pois ele tem métodos para setar os diversos tipos de dados, como String, Float e etc.

Ex:

Para vc selecionar passando parte do do texto Utilize o Like em seu hql