Consultas em uma hierárquia de classes com Hibernate

Olá Pessoal…
Estou utilizando o hibernate como framework de persistência de minha aplicação, porém não estou conseguindo realizar uma consulta em uma classe derivada com base em um atributo da classe pai.
A consulta é essa:

FROM A as obj where obj like(FROM B as obj1 where obj1 = obj
and obj1.tipo = 10
and obj1.codigo = 16)
B- Classe pai
A classe derivada…

Essa consulta me retorna a seguinte exceção:
net.sf.hibernate.exception.GenericJDBCException: Could not execute query

Um abraço a todos…
Jeferson…

Olá, jefecomp!
Uma dica boa é você usar NamedQuery no mapeamento de sua classe. Desse modo facilita a manutenção pois o código da sua aplicação não precisa ser compilada novamente caso precise alterar.
Bom, mais isso é só mais uma dica.
Sobre o seu caso, se bem entendi, vc quer consultar as subclasses baseando no seu owner. Por exemplo: busca itensNota pela Nota.numero.
Se é isso, usando a NamedQuery ficaria assim:

	<query name="documentosFindByPessoa" ><![CDATA[
			select pagamento
				from Documento documento
				where documento.owner.nome like  :nome || "%"
				order by documento.id]>
	</query>

ou ainda:

	<query name="pessoaFindDocumentos" ><![CDATA[
			select documento from Pessoa pessoa join     
                                  pessoa.documentos documento
   			          where pessoa = :bean]]>
	</query>

A chamada para a NamedQuery no DAO ficará assim:

private List pessoaFindDocumentos(final Map params) {
	    return getHibernateTemplate().executeFind(new 
                  HibernateCallback(){
	        public Object doInHibernate(Session session) throws 
                      HibernateException, SQLException {
	            Query query =  session.getNamedQuery("pessoaFindDocumentos").
setParameter("bean", params.get("bean"));
	            return query.list();
	        }
	    });
	}

Veja se resolve seu problema.
E usando a NamedQuery seu código fica bem enxuto e legível.
Vale.