java - 我在 JPA 中需要这个 SQL 语句
问题描述
是否可以通过特定 ID 在数据库表中通过 JPA 删除多行?
例如
Delete from PERSON_LANGUAGE where PERSON_ID = 125;
提前致谢!
下面是我目前尝试使用的没有任何运气的东西!
public void deletePersonLanguageById(PersonLanguage personLanguage){
PersonLanguage personLanguage1 = em.find(PersonLanguage.class, personLanguage.getPersonId());
em.remove(personLanguage1);
}
我希望它删除我的数据库表中的所有内容ID = 1
解决方案
您可以使用本机查询直接针对您的数据库执行 SQL
Query q = em.createNativeQuery("DELETE FROM person_language WHERE person_id = 1");
q.executeUpdate();
或 JPQL 查询:
Query q = em.creteQuery("DELETE FROM Person p WHERE p.personId = 1");
q.executeUpdate();
推荐阅读
- html - Bootstrap 4 Roboto 字体系列
- excel - 查询listobject vba的快速方法
- python - python 3中self中引用函数的问题
- python - QTableView:如何按行索引(标题索引-1)对TableView中的输入数据进行排序?
- php - 使用ajax上传jquery文件
- java - 使用 java swing 写入文本文件
- powershell - 递归将文件添加到文件夹并在文件夹不存在时创建文件夹
- javascript - Resumable.js - 检索成功的服务器响应
- python - 从用结构包装的字节制作一个 numpy 数组
- selenium - Selenide GRID - 如何配置