spring - Spring JPA Hibernate JpaRepository 级联 oneToMany 删除不起作用
问题描述
Spring Hibernate Jpa 存储库。
我无法级联删除,我也没有收到任何错误。
我有以下实体并添加了如下关系。
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import org.hibernate.annotations.OnDelete;
import org.hibernate.annotations.OnDeleteAction;
import com.abc.enumerator.ServiceSpecializationEnum;
import com.fasterxml.jackson.annotation.JsonIgnore;
@Entity
public class SpecializationServices extends BaseEntity{
/**
*
*/
private static final long serialVersionUID = -6438039604817328747L;
private String name;
@Enumerated(EnumType.STRING)
private ServiceSpecializationEnum type;
//@JsonIgnore
@OneToMany(mappedBy = "specialization", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
private List<UserSpecializationServices> userSpecializations;
这是 UserSpecializationServices
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
@Entity
public class UserSpecializationServices extends BaseEntity{
/**
*
*/
private static final long serialVersionUID = 7884804824368079879L;
@ManyToOne
private UserIdentity userIdentity;
@ManyToOne
private SpecializationServices specialization;
我的存储库也如下所示。
@Repository
public interface SpecializationServicesRepository extends JpaRepository<SpecializationServices, Long>{
}
我正在对 serviceImpl 执行以下删除操作
@Transactional
@Service
public class SpecializationServiceImpl {
@Autowired
private SpecializationServicesRepository specializationServiceRepository;
@Override
public void deleteServices(Long id) {
SpecializationServices specializationService = specializationServiceRepository.findById(id).get();
specializationServiceRepository.delete(specializationService);
}
}
即使我也尝试过 Hibernate 包 @cascade(CascadeType.ALL) 但没有运气。我也尝试过 @OnDelete(action = OnDeleteAction.CASCADE) ,它仍然没有删除,也没有抛出任何错误。
如果我在这里遗漏了什么,请告诉我?
解决方案
推荐阅读
- excel - Excel IF 语句未返回正确值
- microsoft-cognitive - 断开连接的参与者的 LeftConversation 事件
- r - 如何使用箱线图在 R 中绘制 csv 数据列
- android - 如何解决 Firebase 存储:获取令牌时出错
- html - 如何使浮动 div 固定宽度,而其他两个浮动 div 百分比?
- reactjs - React 嵌套组件渲染问题
- c - gcc:为简单循环生成的奇怪 asm
- firebase - 使用 Firebase Firestore 将 StreamProvider 与分页一起使用的正确方法?
- npm - nexus oss 或私有 npm 存储库 - 如何在 npmrc 中处理多个存储库?
- android - 如何使用 IntentsTestRule 和 launchFragmentInContainer 测试从片段发送的意图