Spring Hibernate Jpa repository.
I am unable to cascade delete also I am not getting any error also.
I have following entities and have added relationships as below.
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;
Here is the 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;
Also my repository looks as below.
@Repository
public interface SpecializationServicesRepository extends JpaRepository<SpecializationServices, Long>{
}
I am performing the following delete action on 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);
}
}
Even I have tried Hibernate package @cascade(CascadeType.ALL) too but no luck. I have tried @OnDelete(action = OnDeleteAction.CASCADE) too still it is not deleting and not throwing any errors.
Please let me know if I am missing anything here?