java - 基于实体删除记录的 JPA 表达式
问题描述
我正在尝试根据实体从数据库中删除记录。
我有列表,我将其作为参数传递给 JPA 存储库删除方法。
但我得到以下异常:
未找到 StudentEntity 类型的属性删除!
表架构:
学生号 | 学生姓名 | 学生卷号 | 地址
学生实体:
@Entity
@Getter
@Setter
@IdClass( PK.class )
@Table("student_data", schema= "public")
public class StudentEntity{
@Id
@Column("studentId")
private Integer studentId;
@Id
@Column("studentName")
private String studentName;
@Id
@Column("studentRollNo")
private Integer studentRollNo;
@Column("address")
private String address;
}
复合键:
public class PK implements Serializable{
private Integer studentId;
private String studentName;
private Integer studentRollNo;
}
存储库:
@Repository
public interface StudentRepo extends JpaRepository<StudentEntity, PK>{
@Transactional
@Modifying
int delete(@Param("tobeDeletedEntities") List<StudentEntity> tobeDeletedEntities);
}
请帮忙。
解决方案
我认为你不需要写那个。JpaRepository 已经具有该功能。
JpaRepository.deleteInBatch(可迭代实体)
只需致电:
studentRepo.deleteInBatch(listOfStudentsToDelete);
推荐阅读
- python - 如何检查元素是否存在,如果存在则关闭 selenium 驱动程序,如果它不继续使用 Python 中的脚本
- laravel - Laravel 8日期时区没有改变
- python - ___ 后面的 model.summary 中的 None 是什么意思?
- python - ipyvuetify 按钮并排显示
- flutter - 如何将新项目添加到选择文本菜单?
- javascript - 在 Javascript 中运行新的“转换为图层”命令
- python - python3.7中如何使用yolov2进行语义分割?
- asp.net - 在 Windows 上生成 RDLC 报告可以,但在 Macbook 上不行
- java - 为什么我在服务器上部署后在 rest api java 中得到内容类型 text/html 而不是 application/json?
- server - 如何在 Web 服务器上将全局系统指标分解为每个端点