我想从数据库中删除数据,但它使用软删除。有名为“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);
}