Pesquisa Hibernate

3 respostas
S

Segui de modelo de outro trabalho... onde se estava utilizando hibernate 2.0

agora estou usando o 3.0 e da erro na createQuery, que deveria ser passado apenas a Sting

public List pesquisarVersaoTela(String ClienteCodigo, String ClienteNome, String versao, String tipoMensagem) throws DAOException
	{
		String select = "select versao.cli_id_cli as {v.cliente}, " +
						" versao.ver_dt_release   as {v.release}, " +
						" cliente.cli_cod 		  as {v.clienteCodigo}, " +
						" cliente.cli_desc 		  as {v.clienteNome}, " +
						" tipoArquivo.Fty_Id_Fty  as {v.tipoArquivo}, " +
						" arquivo.fil_desc        as {v.nomeArquivo}, " ;
			
		String from =	" FROM edi2_version versao, " +
						" edi2_cliente cliente, " +
						" edi2_version_file versaoArquivo, " +
						" edi2_file arquivo, " +
						" edi2_filetype tipoArquivo, " +
						" edi2_cliente_tipomensagem clienteTipo, " +
						" edi2_tipomensagem tipo " ;
			
		String where =	" where versao.cli_id_cli = cliente.cli_id_cli " +
						" and versao.ver_id_ver = versaoArquivo.Ver_Id_Ver " +
						" and versaoArquivo.Fil_Id_Fil = arquivo.fil_id_fil " +
						" and cliente.cli_id_cli = clienteTipo.Cli_Id_Cli " +
						" and clienteTipo.Tmg_Id_Tmg = tipo.tmg_id_tmg " +
						" and arquivo.fty_id_fty = tipoArquivo.Fty_Id_Fty " +
						" and versao.ver_ind_atv = 'A' ";     
    

		if (ClienteCodigo != null && ClienteCodigo.trim().length() > 0)
		{
			where += " AND cliente.cli_cod = "+ClienteCodigo+" ";
		}
		if (ClienteNome != null && ClienteNome.trim().length() > 0)
		{
			where += " AND cliente.cli_desc = "+ClienteNome+" ";
		}
		if (versao != null && versao.trim().length() > 0)
		{
			where += "versao.ver_id_ver = "+versao+" ";
		}
		if (tipoMensagem != null && tipoMensagem.trim().length() > 0)
		{
			where += " AND tipo.tmg_cod = "+tipoMensagem+" ";
		}
	
		Session s = getSession();
		//Montando a query final
		String query = select + from + where;
		try
		{
			//Query q = getSession().createQuery(query);
			Query q = s.createQuery(query, "v", Versao.class);			
			List listaPesquisa = q.list();

			
			return listaPesquisa;
		}
		catch (HibernateException e)
		{
			throw new DAOException(e);
		}

3 Respostas

P

posta o erro pra gente poder ajudar…

S

o erro esta em “createQuery”

P

tradução do erro:

O método createQuery(String) do tipo Session não é aplicável para os argumentos (String, String, Class<Versao>)

vc tem q passar soh a String da query pra esse método…

segue referencia do Hibernate http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Session.html#createQuery(java.lang.String)

espero ter ajudado…

flw

Criado 22 de fevereiro de 2007
Ultima resposta 22 de fev. de 2007
Respostas 3
Participantes 2