PLSQL Com Hibernate

Galera gostaria de saber se tem como executar um comando plsql no hibernate com HQL?
tententei executar mais deu erros vou colocar o codigo para vcs darem uma olhada se for possível caso contrário vou ter um trabalhão para alterar toda a estrutura do sistema.

Meu comando

    public void insertPlsql(){
		StringBuffer sql = new StringBuffer();
		sql.append("Declare ");
		sql.append("  TPESSOAS cad_pessoas_pck.tp_pessoa_row; ");
		sql.append("  V_ROWID  VARCHAR2(10); ");
		sql.append("Begin ");
		sql.append("  TPESSOAS.APL_CODIGO       := 937;");
		sql.append("  TPESSOAS.APL_DESC         := 'REDE DE ATENDIMENTO';");
		sql.append("  TPESSOAS.BAIRRO           := 'bairro b';");
		sql.append("  TPESSOAS.CEP              := '92000000';");
		sql.append("  TPESSOAS.ENDERECO         := 'rua a';");
		sql.append("  TPESSOAS.STATUS           := 'A';");
		sql.append("  TPESSOAS.DATA_INCLUSAO    := SYSDATE;");
		sql.append("  TPESSOAS.ID1              := 644933563;");
		sql.append("  TPESSOAS.ID2              := 0;");
		sql.append("  TPESSOAS.ID3              := 75;");
		sql.append("  TPESSOAS.NOME             := 'teste procedure';");
		sql.append("  TPESSOAS.IND_ESTATAL      := 'N';");
		sql.append("  TPESSOAS.TELEFONE         := '9999-9999';");
		sql.append("  TPESSOAS.MUN_CODIGO       := 8589;");
		sql.append("  TPESSOAS.SEXO             := 'M';");
		sql.append("  TPESSOAS.TPS_CODIGO       := 2;");
		sql.append("  CAD_PESSOAS_PCK.INSERT_ROW(TPESSOAS, V_ROWID);");
		sql.append("End;");
		
		this.pessoaDAO.insertPlsql(sql.toString());
		System.out.println("Deu certo!!!");
	}

Executar o comando

	public void insertPlsql(String sql){
		Query q = this.getSession().createQuery(sql);
		q.executeUpdate();		
	}

É possível fazer isso? tenho que fazer algum tipo de mapeamento tbm?

Acho que você tem de usar a interface SQLQuery (comandos nativos) em vez de Query (comandos em HQL):

http://docs.jboss.org/hibernate/stable/core/api/org/hibernate/Session.html#createSQLQuery(java.lang.String)