软删除 Spring Boot

问题描述 投票:0回答:0

我想从数据库中删除数据,但它使用软删除。有名为“is_delete”的列,如果选中它的列,则不会显示与其关联的数据。

我试过了

这是我的实体

@Entity
@Table(name = "blood_group")
public class BloodType {
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name="id")
    private Long Id;

    @Column(name="code", length = 5)
    private String Code;

    @Column(name="description", length = 255)
    private String Description;

    @Column(name = "created_by")
    private String createdBy;

    @Column(name = "created_on")
    private Timestamp createdOn;

    @Column(name = "modified_by")
    private String modifiedBy;

    @Column(name = "modified_on")
    private Timestamp modifiedOn;

    @Column(name = "deleted_by")
    private String deletedBy;

    @Column(name = "deleted_on")
    private Timestamp deletedOn;

    @Column(name = "is_delete")
    private Boolean isDelete;
    
    // Getter and setter 
}

这是我的回购

@Repository
public interface BloodTypeRepository extends JpaRepository<BloodType, Long> {
    
    @Override
    @Query("SELECT bg FROM blood_group bg WHERE is_delete=false")
    List<BloodType> findAll();

    @Query("SELECT bg FROM blood_group bg WHERE is_delete=true")
    List<BloodType> recycleBin();

    @Query("UPDATE bg SET is_delete=true WHERE id=?1")
    @Modifying
    Long softDelete(Long id); 

}
java postgresql spring-boot spring-data-jpa maven-plugin
© www.soinside.com 2019 - 2024. All rights reserved.