如何使用hql将参数传递给@Query注释

时间:2017-08-23 11:37:38

标签: spring hibernate spring-boot hql

这是我的hql requete:

@Query("select a from Agent where a.visibility = true a order by a.id desc")
public Page<Agent> getAllAgents(Pageable pageable);

我想选择所有可见度为真的代理商。

在我的Agent类中,a具有带有getVisibility和setVisibility函数的布尔可见性属性。在我的数据库“可见性”中存储为位(1)。

我试过a.visibility = 1,... ='1',... ='TRUE',... ='true',...是真的。但是我得到了这个错误:

Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: a near line 1, column 74 [select a from com.GemCrmTickets.entities.Agent where a.visibility = true a order by a.id desc]

有什么建议吗?提前谢谢。

3 个答案:

答案 0 :(得分:0)

将您的查询更改为:

@Query("select a from Agent a where a.visibility = true order by a.id desc")
public Page<Agent> getAllAgents(Pageable pageable);

答案 1 :(得分:0)

在您的代码中,您必须编写表的Alice名称,然后添加它。

@Query("select a from Agent a where a.visibility = true order by a.id desc")

答案 2 :(得分:0)

您的查询不正确,atrue之间还有order by...。所以正确的查询会变成这样的

select a from Agent a where a.visibility = true order by a.id desc

不确定是否能解决所有麻烦。看看吧。