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 ]
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)
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]">