不设置命名查询的参数?

发布于 2024-10-08 18:49:08 字数 193 浏览 2 评论 0原文

例如,我有一个命名查询:

@NamedQuery(name = "Students", query = "SELECT s FROM Student WHERE s.active = 'Y' OR s.name= :name)

有时我想用值设置“name”参数,有时则不想。如果我不设置的话会导致错误吗?

For example I have a named query:

@NamedQuery(name = "Students", query = "SELECT s FROM Student WHERE s.active = 'Y' OR s.name= :name)

Sometimes I wanna set the 'name' parameter with a value and sometimes not. Does it cause an error when I don't set it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

套路撩心 2024-10-15 18:49:08

你必须始终设置它。否则 - 创建两个查询 - 一个带参数,一个不带参数。您可以将公共部分放在常量中(static final

You have to set it always. Otherwise - create two queries - one with param, and one without. You can place the common part in a constant (static final)

无妨# 2024-10-15 18:49:08

我找到了这样的解决方案:

if (my test criteria){
     query.setParameter("name", "name of a student");
  }  else {
     query.setParameter("name", " ");
  }

我使用空格字符设置名称参数,这样它就可以工作。

I found a solution like this:

if (my test criteria){
     query.setParameter("name", "name of a student");
  }  else {
     query.setParameter("name", " ");
  }

I am setting the name parameter with whitespace character so it works.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文