-1

我的 Java EE/hibernate 应用程序有问题。此查询适用于我的单元测试,但不适用于我的应用程序。

    <named-query name="list.vacant.accessory">
        <query>SELECT proty, COUNT(acc.id)
                FROM ProductType proty, Accessory acc 
                LEFT JOIN acc.productHistoryList phl
                WHERE phl.status LIKE 'En stock ATOS'
                AND proty.id = acc.productType.id   
                AND phl.statusDate = (SELECT MAX(statusDate) 
                                      FROM ProductHistory ph
                                      WHERE ph.product=phl.product)                                       
                GROUP BY proty                    
        </query>
    </named-query> 

我有这个错误:SQL 错误:979,SQLState:42000

ORA-00979: 不是表达式 GROUP BY

你有什么想法吗?谢谢。

4

1 回答 1

0

我不知道休眠映射。但纯粹从查询的角度来看:

 SELECT proty, COUNT(acc.id)
            FROM ProductType proty, Accessory acc 
            LEFT JOIN acc.productHistoryList phl

这里proty指的是表/实体,你是按表名分组的吗?不应该有列名吗?proty.column?

于 2013-07-26T18:08:17.280 回答