Java org.hibernate.hql.internal.ast.ErrorCounter:意外令牌:(
当我尝试执行以下查询时,出现以下错误- 错误 质疑 请帮忙。试试看Java org.hibernate.hql.internal.ast.ErrorCounter:意外令牌:(,java,sql,hibernate,hql,jpa-2.0,Java,Sql,Hibernate,Hql,Jpa 2.0,当我尝试执行以下查询时,出现以下错误- 错误 质疑 请帮忙。试试看 String sSubQuery = "SELECT SUM(om.originalSize), MAX(om.lastModified) "+ "FROM "+ "ObjectMetadata om "+ "WHERE om.informationStoreId = :informationStoreDefinitionID "+
String sSubQuery = "SELECT SUM(om.originalSize), MAX(om.lastModified) "+
"FROM "+ "ObjectMetadata om "+
"WHERE om.informationStoreId = :informationStoreDefinitionID "+
"GROUP BY om.path, om.originalSize";
Query q = getEm().createQuery(sQuery);
q.addParameter("informationStoreDefinitionID",22);
由于您在外部查询中没有使用MAXom.lastModified,您可以省略它。事实上,由于您只是使用过滤器对om.originalSize求和,您根本不需要派生表?表包含文件的元数据,它可能有多个条目对应于文件名,但在中有不同的上次修改日期表。我需要的是-最近更新或修改的所有文件的总大小。当我在postgres中执行以下查询时,它已成功执行-从select om.path中选择sumo.original\u size,om.original\u size,MAXom.last\u modified FROM object\u metadata om WHERE om.information\u store\u id='ff0dcb68-8aab-40f0-b8d8-fcfb82396f5d'按om.path,om.original_size o;分组@StuartLC我需要对MaxlastModified的子查询结果应用sum。因此sum需要仅对具有max LASTMODIFED日期的所有记录应用sum
String sSubQuery = "SELECT om.path, om.originalSize, MAX(om.lastModified) "+
"FROM "+
"ObjectMetadata om "+
"WHERE om.informationStoreId = '"+informationStoreDefinitionID+"' "+
"GROUP BY om.path, om.originalSize";
String sQuery = "SELECT SUM(o.originalSize) "+
"FROM "+
"("+
" "+sSubQuery+
" ) "+
"o";
Query q = getEm().createQuery(sQuery);
String sSubQuery = "SELECT SUM(om.originalSize), MAX(om.lastModified) "+
"FROM "+ "ObjectMetadata om "+
"WHERE om.informationStoreId = :informationStoreDefinitionID "+
"GROUP BY om.path, om.originalSize";
Query q = getEm().createQuery(sQuery);
q.addParameter("informationStoreDefinitionID",22);