Criar uma query que recebe paramentros sem o prepared statment é gambiarra?

Olá pessoal, estou trabalhando em um projeto e estou com a seguinte duvida…

Estou montando um metodo que exlui valores de uma tabela baseado em 2 parametros recebidos:
idGa
idGb

E caso o metodo receba um dos 2 parametros negativos ele exclui tudo que encontrar do outro parametro.

Se eu montar a string SQL sem utilizar o prepared Statement é gambiarra? Por que?

O codigo é esse.

[code] String strComandoSQL;

	// Se idGa for negativo ele exclui tudo que tenha o valor de idGb
	if (idGa < 0) {
		strComandoSQL = "DELETE FROM tbContatos WHERE "
				+ "tbGrupos_idGrupoA = " + String.valueOf(idGb) + " OR "
				+ "tbGrupos_idGrupoB = " + String.valueOf(idGb);

	}
	// Se idGb for negativo ele exclui tudo que tenha o valor de idGa
	else if (idGb < 0) {
		strComandoSQL = "DELETE FROM tbContatos WHERE "
				+ "tbGrupos_idGrupoA = " + String.valueOf(idGa) + " OR "
				+ "tbGrupos_idGrupoB = " + String.valueOf(idGa);
	}
	// Se nenhum dos 2 parametros for negativo ele gera uma string
	// para deletar apenas quem for compativel com os 2 paramentros.
	else {
		strComandoSQL = "DELETE FROM tbContatos WHERE "
				+ "tbGrupos_idGrupoA = " + String.valueOf(idGa) + " AND "
				+ "tbGrupos_idGrupoB = " + String.valueOf(idGb);
	}

	try {
		
		//Cria o stm!
		stmComandoSQL = conConexaoComBanco.createStatement();
		//Executa o stm.
		stmComandoSQL.execute(strComandoSQL);
		
		
	} catch (Exception e) {
		e.printStackTrace();
	}[/code]

Grato.
Gabriel.