如何在Hibernate中进行连接返回列表而不是二维列表?

时间:2010-12-20 01:28:03

标签: hibernate join hql inner-join

希望这是一个简单的问题。

我正在按照以下方式加入HQL:

FROM Apple a, Orange o WHERE a.price = o.price AND a.price > 1.99

当我这样做时,我会收到一个代表连接的集合。但是,集合中的每个元素实际上是包含相关苹果和橙色的另一个集合。

我想要的是一份苹果清单,我得到的是苹果和橙子清单。从逻辑上讲,我在寻找:

All apples priced greater than 1.99 only when
there is also an orange at the same price.

我的实际问题比这复杂50倍,但我已将其简化为基本问题。如何更正/修改此HQL查询以仅提供一种类型的对象?

2 个答案:

答案 0 :(得分:2)

稍微修改您的查询:

SELECT a
FROM Apple a, Orange o WHERE ...

答案 1 :(得分:2)

离开我的评论后,我去了文档。以下是来自文档

的theta join示例
select p from NameList list, Person p
where p.name = some elements(list.names)

所以看来你应该做的事情应该是可能的