JPA..uso de createQuery ..erro java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntax

Olá estou tentando pela primeira vez montar um createQuery

e está me dando o erro abaixo
Algumas duvidas :

  • no select estou usando o nome do objeto e não a tabela do banco ?

  • para ver o resultado estou usando Object é assim mesmo pois no select
    tem atributos de dois objetos é asism mesmo ou tem outra forma de pegar
    o resultado ?

se alguem puder me ajudar gradeceria

try{
			System.out.println("Inico ...testCreateQuery()");
			String parametro = "Exemplo";
			StringBuilder hql = new StringBuilder(); 
			
			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 = :name "); 

			Query query = imsDBMng.getManager().createQuery(hql.toString()); 
			query.setParameter("name", parametro);
			List lista = query.getResultList();
			 
            for (int i=0;i<lista.size();i++){
            	Object [] rs = (Object[]) lista.get(i);
            	System.out.println("valor de rs ="+rs[i]);

            }
			 

[code]
Inico …testCreateQuery()

  • line 1:49: unexpected token: Ims_Document
  • processEqualityExpression() : No expression to process!
  • line 1:64: unexpected token: left
    Erro testCreateQuery() =java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: Ims_Document near line 1, column 49 [select a.id , a.value ,b.name,b.descriptionfrom Ims_Document a left join a.Ims_Document_Field bwhere b.name = :name ]

[/code]">

Com HQL voce pode criar um construtor na classe e os dados ja vem populados…
No construtor voce coloca os dados em ordem ex.:
Classe(Long id, String nome, String estado, Double saldo)

Olá,

uma ajuda não estou conseguindo visualizar o erro que está dano abaixo
pois tento fazer um join entre dois objetos …

se alguém pudr me ajudar

agradeceria…

[code]

public void testCreateQuery() {
Session session = (Session) g.getManager().getDelegate();
try{
String parametro = “Exemplo”;
StringBuilder hql = new StringBuilder();

		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' ");
		
                    Query query =  (Query) session.createQuery(hql.toString());
		//query.setParameter("name", parametro);
		List lista = query.getResultList();
		 
        for (int i=0;i<lista.size();i++){
        	Object [] rs = (Object[]) lista.get(i);
        	System.out.println("valor de rs ="+rs[i]);

        }

select a.id , a.value , b.name, b.description from ImsDocument a left join a.ImsDocumentField b
Erro testCreateQuery() =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 ]
[/code]">