当前位置: 首页 > 面试题库 >

两次使用休眠命名参数

经骁
2023-03-14
问题内容

假设我有以下HQL

EntityManager.createQuery("SELECT a FROM a WHERE a.b = :par OR a.c = :par").setParameter("par", obj);

似乎不起作用。是否有人只使用一个参数就可以解决此问题?


问题答案:
setParameter(String name,Object val)

这用于将值绑定到命名参数。但是名称可以在查询中多次出现,这无关紧要。因此,请检查一次您是否确实有该查询的数据。

在此处查看文档

该文档中的一些主要文字

命名查询参数是查询字符串中形式为:name的标记。 通过调用setParameter(“
foo”,foo,Hibernate.INTEGER);将值绑定到整数参数:foo。例如。一个名称可能在查询字符串中出现多次。

如果仍然没有得到结果,则尝试使用两个名称并进行设置

EntityManager.createQuery(“从某处选择ab =:par1或ac =:par2”)。setParameter(“
par1”,obj).setParameter(“ par2”,obj);



 类似资料:
  • 问题内容: 我正在尝试从当前日期在任何给定月份的第一天和最后一天之间的表中提取信息。 我收到运行时错误“命名查询中的错误:Department.byDate” 我正在向您提供我认为可能导致问题的代码,如果需要任何其他代码,请在评论中告知我。 我的命名查询如下所示: 我在DAO中以一种类似于以下方式的方法使用此命名查询: 我获取月份的第一天和最后几天的方法如下: 问题答案: 在HQL / JPQL中

  • 问题内容: 我有一个Spring和Hibernate3在生产中运行良好的应用程序。以下是Spring的applicationContext.xml中会话工厂的配置 生产正常。 现在,对于另一个项目,我们正在迁移到Hibernate4。我们使用org.springframework.orm.hibernate4。*包中的Hibernate 4的SessionFactory,TransacionMan

  • 问题内容: 我正在寻找展示如何将MongoDB与Hibernate集成的资源(最好是在Spring内),以便我可以在RDBMS和NoSql替代品之间进行切换:有人有这样做的经验吗? 问题答案: 您不能轻易做到这一点。Hibernate的重点是将Java对象映射到关系数据库。尽管Hibernate提取了许多细节,但您仍然需要了解关系数据库如何与诸如外键和主键之类的东西一起工作,以及运行查询对性能的影

  • 问题内容: 我想在MS SQL中使用hibernate模式创建一个对象,该表的名称为“ user”。这没用!。我认为此问题可能是由表/实体的名称引起的,用户是关键字。拥有名称为“ user”的表该怎么办? 问题答案: 我应该使用重音符号()。

  • 问题内容: 我收到以下异常: 实体类头: 在hibernate.cfg.xml中: 在测试课程中: 我在没有注释的情况下进行了此工作(例如:在映射文件中使用映射),但是简单地使用JPA注释来声明映射似乎更直观-但我似乎无法使其正常工作。 我在这里做错了什么?我要做什么甚至有可能吗?看来我不是唯一遇到这种情况的人,请参阅:这里。 我正在使用hibernate3.5.6-FINAL FWIW。 TIA

  • 问题内容: 我面临着要与MySQL 5.0一起使用而编写的旧系统,现在需要将其迁移到MysQL 5.5(要求)。我发现一列名为,这在MySQL 5.5中似乎是系统单词。因此,我所有包含此列的Hibernate查询都给出语法错误: 由以下原因引起:java.sql.BatchUpdateException:您的SQL语法有错误。检查与您的MySQL服务器版本相对应的手册,以获取在’maxvalue附