当前位置: 首页 > 知识库问答 >
问题:

为什么我不能在Spring靴中使用“截断”

萧元徽
2023-03-14

我想在spring boot项目中使用“truncate table”语句而不是“delete”语句,因为我需要重置mysql中的自动增量id。这是我的代码:

@PersistenceContext protected EntityManager em;
@Override
  public void removeAllShopeeCategory() {
    StringBuilder query = new StringBuilder("truncate table ShopeeCategoryDto shopeecategory");
    Query q = this.em.createQuery(query.toString());
    q.executeUpdate();
  }

但有一个例外,就像这样:

nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: truncate near line 1, column 1

其他操作已经工作,如插入、更新或选择,原因是什么,我应该修改什么?

共有2个答案

柯良骏
2023-03-14
 entityManager.createNativeQuery("TRUNCATE TABLE " + tableName + " CASCADE")
            .executeUpdate()
阎功
2023-03-14

请在本机sql查询中使用https://docs.oracle.com/javaee/7/api/javax/persistence/EntityManager.html#createNativeQuery-java.lang.String-。

 类似资料:
  • 我正在使用Spring Boot实现rest服务。实体类在一个单独的包中定义。所以我在A中添加了组件注释pplication.java. 这是我的控制器类: 我还创建了一个JPA数据存储库,扩展了JPARepository,并在其中添加了自定义查询代码。 下面是实现服务接口的servicebean类 当我启动应用程序并在浏览器中键入以下url时“http://localhost:8080/api/

  • 我正在尝试使用文件系统。我的< code>CMakeLists.txt中有< code>-std=c 11 -std=c 1y。GCC版本为4.9.2。然而,我得到了一个错误: 使用的正确方法是什么?

  • 从TensorArray读取: 使用: 问题: 回溯(最近一次调用last):RLU培训中第130行的文件“\main.py”。train()文件“C:\Users\user\Documents\Projects\rl toolkit\rl_training.py”,第129行,在train self中_rpm,赛尔夫。批量大小,自行确定。梯度步数,记录步数b=self。在call result=

  • 我试图使用Java8Javadoc工具,但它抱怨是一个未知标记: 我看到有一些方法可以禁用doclint,但我真的想知道哪些标签列表被支持(或者为什么这个不支持)。 更多信息在这个问题,这个问题和从这个博文。

  • 我已经检查了我的windows10机器上是否安装了python 3.8。我正在尝试安装带有pip的软件包,但终端告诉我,“[pip”不被识别为内部或外部命令、可操作程序或批处理文件。] 我知道3.4以上的Python版本已经预装了pip,那么为什么我会收到这个错误消息呢?

  • 我对Swift中关于var和关键字{get set}的使用的协议有疑问。 来自Apple文档: 这将不是公正的: 我错过了什么?