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

为什么这个休眠模板bulkUpdate不起作用

柯阳曦
2023-03-14
问题内容

Oracle 10g,hibernate3.4

此更新(基于long user.userId值)正确完成:

getHibernateTemplate().bulkUpdate("update Address address set address.preferred = 1 where address.user.userId = ?", 1l);

这个(基于String user.language值)抛出异常ORA-00971: missing SET keyword

getHibernateTemplate().bulkUpdate("update Address address set address.preferred = 1 where address.user.language = ?", "en");

有人知道为什么吗?


问题答案:

Hibernate文档说:

  • 批量HQL查询中不能指定隐式或显式连接。子查询可以在where子句中使用,其中子查询本身可能包含联接。

因此,您需要用等效的子查询替换隐式连接:

getHibernateTemplate().bulkUpdate(
   "update Address address set address.preferred = 1 " +
   "where address.user in (select u from User u where u.language = ?)",
   "en");


 类似资料:
  • 问题内容: Oracle 10g,休眠3.4 此更新(基于值)正确完成: 这个(基于值)抛出异常: 有人知道为什么吗? 问题答案: Hibernate文档说: 批量HQL查询中不能指定隐式或显式连接。子查询可以在where子句中使用,其中子查询本身可能包含联接。 因此,您需要用等效的子查询替换隐式连接:

  • 问题内容: 我知道,问题已经发布了无数次,因此,如果有相同的问题(我还没有找到),请给我链接或建议。 我的数据库(和)中有两个表,两个POJO Hibernate类(和)。 我想在单个列表对象的jsp中显示这两个表中的字段,因此我决定使用。这两个表由字段(这是的主键)连接在一起,我希望from中的from 与from中的字段一起显示。在由该注释之前: 我将此属性添加到了(带有getter和sett

  • 问题内容: 我正在像下面这样在我的DAO类中注入一个: 但是我得到了 根据调试输出,并且在是。 一些文件供参考: : : : 问题答案: 如果要使用Hibernate会话和事务注入功能,则操作映射包需要扩展该包。 有关包装的更多详细信息 该插件提供了一个名为的映射包。它具有三个指示注入功能的拦截器堆栈: :类似于Struts2 (无需验证!),但具有Hibernate会话和事务注入功能。 :类似于

  • 问题内容: 嗨,我只是想创建一个简单的golang应用程序,它使用以下命令在identi.ca上发布新的凹痕 到目前为止,这是我的代码,恕我直言,这应该起作用,但实际上它不起作用,有人知道如何解决此问题吗? 编辑: 不:我没有收到任何错误消息:/ 问题答案: 不会将整个命令行作为单个参数。您需要将其称为: 您怎么知道是否遇到错误?您无需检查的返回值。 您实际上应该将命令创建与运行分开。这样,您可以

  • 问题内容: 码: 上面的代码不起作用。当我单击#clicker时,它不会发出警报,也不会隐藏。我检查了控制台,没有任何错误。我还检查了JQuery是否正在加载,实际上是否正在加载。所以不确定是什么问题。我还执行了带有警报的文档就绪功能,并且该功能正常工作,因此不确定我在做什么错。请帮忙。谢谢! 问题答案: 您应该在一个块中添加javascript代码。 即 正如jQuery文档指出的那样:“在文档

  • 问题内容: 我正在尝试通过以下方式将日期范围划分为各个日期: 而且我不知道为什么不起作用,因为日期仍然相同,所以循环变得无限。 问题答案: plusDays不会改变原始的,您必须分配结果: