将 SQL 转换为 HQL where 子句
这应该很容易,但我的应用程序不断抛出错误,而且我是 Hibernate 的新手。
我正在尝试使用 Hibernate 在我的 Web 应用程序中进行简单的 HQL 查询。
我想执行以下 SQL 查询:
SELECT * FROM deal WHERE deal_status='A' OR WHERE deal_status='O';
HQL 似乎不适用于 or 子句,这里是我的 Web 应用程序中当前的 HQL 语句:
FROM deal d where d.deal_status='O' or d.deal_status='A' order by d.id
感谢任何 Hibernate 查询帮助
问候 亚历克斯
this should be easy, but my app throws constant error, and I'm new to Hibernate.
I am trying to have simple HQL query in my web app using Hibernate.
I want to execute the following SQL query:
SELECT * FROM deal WHERE deal_status='A' OR WHERE deal_status='O';
HQL does not seem to work with or clause, here my current HQL statements in my web app:
FROM deal d where d.deal_status='O' or d.deal_status='A' order by d.id
Thanks for any Hibernate query help
Regards
Alex
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
c.id
- c 未定义我强烈假设 Deal 中的字段(类名首字母大写) ) 不是
deal_status
而是 status,那么查询一定是这样的。 (我跳过了 c.id 的内容,因为我不知道你的意思。)注意 Deal 中的上部 D
这只有在 Deal.status 是字符串或类似的东西时才有效,但如果它是枚举则不然。处理 Enum 的一种方法是:
c.id
- c is not definedI strongly assume that the fields in Deal (Classname first letter upper case) are not
deal_status
but status, then the query must be like this. (I skipped the c.id stuff, because I have no idea what you mean by this.)Notice the upper D from Deal
And this will only work if Deal.status is a String or something like that, but not if it is a Enum. One way to handle an Enum is this: