Estou realizando essa consulta no Postgres e o resultado aparece corretamente
select * from Ternario t, Curso c, Centro ce where ce.codcentro = c.codcentro and c.codcurso = t.codcurso and ce.codcentro = 1;
Mais no hibernate estou fazendo assim
public List<Ternario> listarquantProjCentroCcs() throws Exception {
s = HibernateUtil.getSessionFactory().openSession();
q = s.createQuery("from Ternario t, Curso c, Centro ce where ce.codcentro = c.codcentro and c.codcurso = t.codcurso and ce.codcentro = 1");
return q.list();
}
org.hibernate.QueryException: could not resolve property: codcentro of: br.com.projetopesquisa.entity.Centro [from br.com.projetopesquisa.entity.Ternario t, br.com.projetopesquisa.entity.Curso c, br.com.projetopesquisa.entity.Centro ce where ce.codcentro = c.codcentro and c.codcurso = t.codcurso and ce.codcentro = 1]
org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:44)
org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:38)
org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1358)
org.hibernate.hql.ast.tree.FromElementType.getPropertyType(FromElementType.java:279)
org.hibernate.hql.ast.tree.FromElement.getPropertyType(FromElement.java:386)
org.hibernate.hql.ast.tree.DotNode.getDataType(DotNode.java:566)
org.hibernate.hql.ast.tree.DotNode.prepareLhs(DotNode.java:241)
org.hibernate.hql.ast.tree.DotNode.resolve(DotNode.java:188)
org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:94)
org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:90)
org.hibernate.hql.ast.HqlSqlWalker.resolve(HqlSqlWalker.java:728)
org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1216)
org.hibernate.hql.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:4041)
org.hibernate.hql.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:3525)
org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:1762)
org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:1687)
org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:1687)
org.hibernate.hql.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:776)
org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:577)
org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
br.com.projetopesquisa.persistence.QuadroDemonstrativoDao.listarquantProjCentroCcs(QuadroDemonstrativoDao.java:80)
br.com.projetopesquisa.action.QuadroDemonstrativoAction.prepare(QuadroDemonstrativoAction.java:45)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:134)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
Parece que não estou fazendo o uso do HQL certo ??
Alguem pode mudar essa linha para o HQL !
select * from Ternario t, Curso c, Centro ce where ce.codcentro = c.codcentro and c.codcurso = t.codcurso and ce.codcentro = 1;
Amigo se eu entedi bem isso irá da Certo.
q = s.createQuery("from Ternario t where t.curso.centro.codCentro = 1);
Coloque o resultado depois de testar.
[quote=igoorgalvao]Amigo se eu entedi bem isso irá da Certo.
q = s.createQuery("from Ternario t where t.curso.centro.codCentro = 1);
Coloque o resultado depois de testar.[/quote]
Deu esse erro
org.hibernate.QueryException: could not resolve property: codCentro of: br.com.projetopesquisa.entity.Centro [from br.com.projetopesquisa.entity.Ternario t where t.curso.centro.codCentro = 1]
org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:44)
org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:38)
org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1358)
org.hibernate.hql.ast.tree.FromElementType.getPropertyType(FromElementType.java:279)
org.hibernate.hql.ast.tree.FromElement.getPropertyType(FromElement.java:386)
org.hibernate.hql.ast.tree.DotNode.getDataType(DotNode.java:566)
org.hibernate.hql.ast.tree.DotNode.prepareLhs(DotNode.java:241)
org.hibernate.hql.ast.tree.DotNode.resolve(DotNode.java:188)
org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:94)
org.hibernate.hql.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:90)
org.hibernate.hql.ast.HqlSqlWalker.resolve(HqlSqlWalker.java:728)
org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1216)
org.hibernate.hql.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:4041)
org.hibernate.hql.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:3525)
org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:1762)
org.hibernate.hql.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:776)
org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:577)
org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:77)
org.hibernate.engine.query.HQLQueryPlan.(HQLQueryPlan.java:56)
org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
br.com.projetopesquisa.persistence.QuadroDemonstrativoDao.listarquantProjCentroCcs(QuadroDemonstrativoDao.java:80)
br.com.projetopesquisa.action.QuadroDemonstrativoAction.prepare(QuadroDemonstrativoAction.java:45)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:134)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
Voce tem alguma apostila falando de HQL ??
Tenho não.
deixa eu te explicar a o código que te mandei
q = s.createQuery("from Ternario t where t.curso.centro.codCentro = 1);
Aqui você tem que fazer tudo via objeto. Para isso funcionar vc deve ter a seguinte estrutura:
class Ternario{
Curso curso;
}
class Curso{
Centro centro;
}
class Centro{
String ou Integer codCentro;
}
Eu não coloquei os getter e setter e os modificadores de acesso.
Para funcionar dentro da class centro você deve ter o atributo codCentro.
[quote=igoorgalvao]Tenho não.
deixa eu te explicar a o código que te mandei
q = s.createQuery("from Ternario t where t.curso.centro.codCentro = 1);
Aqui você tem que fazer tudo via objeto. Para isso funcionar vc deve ter a seguinte estrutura:
class Ternario{
Curso curso;
}
class Curso{
Centro centro;
}
class Centro{
String ou Integer codCentro;
}
Eu não coloquei os getter e setter e os modificadores de acesso.
Para funcionar dentro da class centro você deve ter o atributo codCentro.
[/quote]
Eu fiz o que voce falou mais agora deu esse erro
javax.servlet.ServletException: Filter execution threw an exception
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
root cause
java.lang.ExceptionInInitializerError
br.com.projetopesquisa.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:23)
br.com.projetopesquisa.persistence.QuadroDemonstrativoDao.listarProfessorDoutor(QuadroDemonstrativoDao.java:23)
br.com.projetopesquisa.action.QuadroDemonstrativoAction.prepare(QuadroDemonstrativoAction.java:36)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:134)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
root cause
java.lang.OutOfMemoryError: PermGen space
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Vou ter que ver o que faço …
Mais voce tem algum material ae para eu da uma estudada ???
Infelizmente tenho não aprendi sozinho.
Amigo o erro que deu agora foi porque o PermGen space estouro. Esse é um espaço na memória.
Tente aumentar ele.
No eclipse:
window -> preferences -> installed JReS
Edita a JRE e coloca Vm arguments:
-XX:PermSize=128M -XX:MaxPermSize=256M
[quote=igoorgalvao]Infelizmente tenho não aprendi sozinho.
Amigo o erro que deu agora foi porque o PermGen space estouro. Esse é um espaço na memória.
Tente aumentar ele.
No eclipse:
window -> preferences -> installed JReS
Edita a JRE e coloca Vm arguments:
-XX:PermSize=128M -XX:MaxPermSize=256M [/quote]
Estou usando NetBeans
Mais aqui isso não era para acontecer certo ??
pmlm
Maio 6, 2010, 1:37pm
#8
[quote=tonydesign]
Mais aqui isso não era para acontecer certo ??[/quote]
Se estás a fazer deploys sucessivos sem reiniciar o servidor é “normal” que ao fim de algum tempo isso possa acontecer.