-2

请帮忙。这个 MySQL 语法到 HQL 的转换是否正确?

MySQL:

SELECT item.* FROM item, itemGroup
WHERE item.groupId = itemGroup.groupId
AND itemGroup.display = 1
ORDER BY itemGroup.displayOrder ASC

总部:

FROM item AS I, itemGroup AS IG
WHERE I.groupId = IG.groupId
AND IG.display = 1
ORDER BY IG.displayOrder ASC

谢谢你。

4

1 回答 1

1

可能它不正确(除非您使用 - 违反任何约定 - 类名的小写)。

在 HQL 中,您不使用数据库中的表名或列名。相反,您使用映射类和 getter/setter 或成员变量的名称。

此外,您最好只选择一个类,加入的类 Hibernate 将自动加入。它可能是这样的:

FROM Item AS i
   WHERE i.itemGroup.display = 1
   ORDER BY i.itemGroup.displayOrder ASC

您必须在映射文件中指定 item 和 itemGroup 之间的连接。或者,您可以在 HQL 语句中使用“内部连接”子句。

于 2012-04-19T06:43:41.593 回答