带有Join问题的Hibernate命名查询

时间:2010-10-27 12:55:32

标签: hibernate

我正在尝试创建一个基于id连接两个表的命名查询。我收到一个HibernateException,说“命名查询中的错误:Users.getAllUsers

Users bean有一个私有的Set图像变量。 UserImages bean映射到包含所有用户图像的表。这是我的命名查询。

@NamedQueries ({
    @NamedQuery(name = "Users.getUserImage",
    query("from Users as users INNER JOIN fetch users.image as image WHERE users.userId = image.userId" AND users.userId =: passedId)
})

我将变量1作为命名查询中的passedId参数传递。

我对hibernate很新,但我被告知要使用fetch命令,因为我在User bean中有一个包含一堆UserImage bean对象的set。任何人都明白为什么这不起作用?我正在我的sql编辑器中工作的实际SQL查询是

SELECT * FROM users as u WHERE INNER JOIN user_images as images ON users.userId = images.userId AND users.userId = 1;

1 个答案:

答案 0 :(得分:0)

想出来。原来我的查询是正确的错误是我没有正确传递我的Dao参数。