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

Hibernate+ Spring数据中的本机插入查询

叶裕
2023-03-14
问题内容

我尝试将以下代码添加到spring数据jpa存储库中:

  @Query("insert into commit_activity_link (commit_id, activity_id) VALUES (?1, ?2)")
  void insertLinkToActivity(long commitId, long activityId);

但是应用程序不能以以下例外开头:

由以下原因引起:org.hibernate.hql.internal.ast.QuerySyntaxException:意外令牌:第1行第59列附近的值[插入commit_activity_link(commit_id,activity_id)VALUES(?1,?2)]

我哪里错了?


问题答案:

我必须添加nativeQuery = true@Query

@Query(value = "insert into commit_activity_link (commit_id, activity_id) VALUES (?1, ?2)", nativeQuery = true)


 类似资料:
  • 我有一个实体: 目标是通过本机查询将其保存到PostgreSQL数据库: 问题在于,大十进制值的转换方式类似于,而不是。以下是错误消息:

  • 初始情况:我有这两个实体,杂货清单和产品。 杂货清单:一个杂货清单可以有几种产品。 产品:一个产品可以分配给多个杂货店 实体和关系存储在Postgres中的三个不同表中(一个用于列表,一个用于产品,一个用于关系映射表)。 映射表:映射表"lists_products" 示例产品:Id=4的示例产品 问题是:我正在尝试创建新的列表,这很有效。但是,正如您可以从映射表图像中看到的那样,Hibernat

  • 我使用Spring引导和Spring数据JPA。它工作得很好但是!我需要使用复杂的本地查询从Oracle数据库(源数据从SAP ERP)。 假设查询包含5个joned表(一个键或组合键)。我可以使用很多参数。 解决方案: 1)由于耗时,使用JPA为该查询编写新查询是不真实的。创建表之间的所有键关系似乎很复杂。 2)为了运行这些查询,我使用JDBC。这很容易,因为我准备了本机查询。但我深信这种做法是

  • 我想在我的repo中写一个本机查询“Select*in from table”。表名与实体名不同。 运行查询时, 1如果我把实体名称返回表未找到。 2如果我将表名放在查询中,则查询的验证失败。 问题是 如果我使用"Select*from TariffPacks r2..., nativeQuery=true",我得到错误TariffPacks不存在。如果我使用"Select*from RECHAR

  • 我使用Spring Data、Spring Boot和Hibernate作为JPA提供程序,我想提高批量插入的性能。 我引用这个链接来使用批处理: http://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html/ch15.html 这是我的代码和应用程序。插入分批实验的属性。 我的服务: 与批处理相关的部分application.properti

  • 问题内容: 我想使用Hibernate Native SQL在数据库中插入记录。代码如下 上面的代码工作正常,我认为这不是最好的方法。如果有的话,请给我另一种可能的方法。谢谢 问题答案: Hibernate具有批处理功能。但是在以上情况下,我使用的是Native SQL,根据我的观察,hibernate批处理对于Native SQL并不是很有效。是的,可以肯定的是它可以避免内存不足错误,但不会提高