Duvida no uso createQuery .....erros e duvidas

hql.append("select doc from ImsDocument doc fetch all properties order by doc.value ");
select doc from ImsDocument doc fetch all properties order by doc.value 
Hibernate: select imsdocumen0_.DOCUMENT_ID as DOCUMENT1_17_, imsdocumen0_.document_type as document2_17_, imsdocumen0_.USER_ID as USER4_17_, imsdocumen0_.value as value17_ from IMS_DOCUMENT imsdocumen0_ order by imsdocumen0_.value
Hibernate: select imsuserimp0_.USER_ID as USER1_8_4_, imsuserimp0_.ADDRESS_ID as ADDRESS10_8_4_, imsuserimp0_.admissionDate as admissio2_8_4_, imsuserimp0_.birthDate as birthDate8_4_, imsuserimp0_.email as email8_4_, imsuserimp0_.GROUP_ID as GROUP11_8_4_, imsuserimp0_.ldapPath as ldapPath8_4_, imsuserimp0_.name as name8_4_, imsuserimp0_.profession as profession8_4_, imsuserimp0_.ROLE_ID as ROLE12_8_4_, imsuserimp0_.object_state as object8_8_4_, imsuserimp0_.upn as upn8_4_, imsaddress1_.ADDRESS_ID as ADDRESS1_15_0_, imsaddress1_.additionalInfo as addition2_15_0_, imsaddress1_.city as city15_0_, imsaddress1_.country as country15_0_, imsaddress1_.mobile as mobile15_0_, imsaddress1_.neighborhood as neighbor6_15_0_, imsaddress1_.phone as phone15_0_, imsaddress1_.postalCode as postalCode15_0_, imsaddress1_.state as state15_0_, imsaddress1_.street as street15_0_, groupimpl2_.GROUP_ID as GROUP1_24_1_, groupimpl2_.name as name24_1_, groupimpl2_.PARENT_GROUP_ID as PARENT4_24_1_, groupimpl2_.state as state24_1_, groupimpl3_.GROUP_ID as GROUP1_24_2_, groupimpl3_.name as name24_2_, groupimpl3_.PARENT_GROUP_ID as PARENT4_24_2_, groupimpl3_.state as state24_2_, imsrole4_.ROLE_ID as ROLE1_11_3_, imsrole4_.description as descript2_11_3_, imsrole4_.name as name11_3_ from IMS_USER imsuserimp0_ left outer join IMS_ADDRESS imsaddress1_ on imsuserimp0_.ADDRESS_ID=imsaddress1_.ADDRESS_ID left outer join IMS_GROUP groupimpl2_ on imsuserimp0_.GROUP_ID=groupimpl2_.GROUP_ID left outer join IMS_GROUP groupimpl3_ on groupimpl2_.PARENT_GROUP_ID=groupimpl3_.GROUP_ID left outer join IMS_ROLE imsrole4_ on imsuserimp0_.ROLE_ID=imsrole4_.ROLE_ID where imsuserimp0_.USER_ID=?
Hibernate: select imsuserimp0_.USER_ID as USER1_8_4_, imsuserimp0_.ADDRESS_ID as ADDRESS10_8_4_, imsuserimp0_.admissionDate as admissio2_8_4_, imsuserimp0_.birthDate as birthDate8_4_, imsuserimp0_.email as email8_4_, imsuserimp0_.GROUP_ID as GROUP11_8_4_, imsuserimp0_.ldapPath as ldapPath8_4_, imsuserimp0_.name as name8_4_, imsuserimp0_.profession as profession8_4_, imsuserimp0_.ROLE_ID as ROLE12_8_4_, imsuserimp0_.object_state as object8_8_4_, imsuserimp0_.upn as upn8_4_, imsaddress1_.ADDRESS_ID as ADDRESS1_15_0_, imsaddress1_.additionalInfo as addition2_15_0_, imsaddress1_.city as city15_0_, imsaddress1_.country as country15_0_, imsaddress1_.mobile as mobile15_0_, imsaddress1_.neighborhood as neighbor6_15_0_, imsaddress1_.phone as phone15_0_, imsaddress1_.postalCode as postalCode15_0_, imsaddress1_.state as state15_0_, imsaddress1_.street as street15_0_, groupimpl2_.GROUP_ID as GROUP1_24_1_, groupimpl2_.name as name24_1_, groupimpl2_.PARENT_GROUP_ID as PARENT4_24_1_, groupimpl2_.state as state24_1_, groupimpl3_.GROUP_ID as GROUP1_24_2_, groupimpl3_.name as name24_2_, groupimpl3_.PARENT_GROUP_ID as PARENT4_24_2_, groupimpl3_.state as state24_2_, imsrole4_.ROLE_ID as ROLE1_11_3_, imsrole4_.description as descript2_11_3_, imsrole4_.name as name11_3_ from IMS_USER imsuserimp0_ left outer join IMS_ADDRESS imsaddress1_ on imsuserimp0_.ADDRESS_ID=imsaddress1_.ADDRESS_ID left outer join IMS_GROUP groupimpl2_ on imsuserimp0_.GROUP_ID=groupimpl2_.GROUP_ID left outer join IMS_GROUP groupimpl3_ on groupimpl2_.PARENT_GROUP_ID=groupimpl3_.GROUP_ID left outer join IMS_ROLE imsrole4_ on imsuserimp0_.ROLE_ID=imsrole4_.ROLE_ID where imsuserimp0_.USER_ID=?
Hibernate: select fields0_.DOCUMENT_ID as DOCUMENT5_1_, fields0_.FIELD_ID as FIELD1_1_, fields0_.FIELD_ID as FIELD1_16_0_, fields0_.description as descript2_16_0_, fields0_.DOCUMENT_ID as DOCUMENT5_16_0_, fields0_.name as name16_0_, fields0_.value as value16_0_ from IMS_DOCUMENT_FIELD fields0_ where fields0_.DOCUMENT_ID=?
Hibernate: select fields0_.DOCUMENT_ID as DOCUMENT5_1_, fields0_.FIELD_ID as FIELD1_1_, fields0_.FIELD_ID as FIELD1_16_0_, fields0_.description as descript2_16_0_, fields0_.DOCUMENT_ID as DOCUMENT5_16_0_, fields0_.name as name16_0_, fields0_.value as value16_0_ from IMS_DOCUMENT_FIELD fields0_ where fields0_.DOCUMENT_ID=?
Hibernate: select fields0_.DOCUMENT_ID as DOCUMENT5_1_, fields0_.FIELD_ID as FIELD1_1_, fields0_.FIELD_ID as FIELD1_16_0_, fields0_.description as descript2_16_0_, fields0_.DOCUMENT_ID as DOCUMENT5_16_0_, fields0_.name as name16_0_, fields0_.value as value16_0_ from IMS_DOCUMENT_FIELD fields0_ where fields0_.DOCUMENT_ID=?
Hibernate: select fields0_.DOCUMENT_ID as DOCUMENT5_1_, fields0_.FIELD_ID as FIELD1_1_, fields0_.FIELD_ID as FIELD1_16_0_, fields0_.description as descript2_16_0_, fields0_.DOCUMENT_ID as DOCUMENT5_16_0_, fields0_.name as name16_0_, fields0_.value as value16_0_ from IMS_DOCUMENT_FIELD fields0_ where fields0_.DOCUMENT_ID=?
Erro testCreateQuery() =java.lang.ClassCastException: br.com.certisign.ims.data.model.user.ImsDocument

E mais teria um exemplo de sintaxe com outro objeto tenho um exemplo mais está dando erro de


--
hql.append("select a.id , a.value , b.name, b.description ");
			hql.append(" from ImsDocument a ");
			hql.append(" left join a.ImsDocumentField b ");
			hql.append("where b.name = 'Exemplo' ");
			

--

Inico ...testCreateQuery()
select a.id , a.value , b.name, b.description  from ImsDocument a  left join a.ImsDocumentField b where b.name = 'Exemplo' 
Erro testCreateQuery() =java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: ImsDocumentField of: br.com.certisign.ims.data.model.user.ImsDocument [select a.id , a.value , b.name, b.description  from br.com.certisign.ims.data.model.user.ImsDocument a  left join a.ImsDocumentField b where b.name = 'Exemplo' ]


---