service服务类删除方法如下
@Transactional(rollbackFor = Exception.class)
public void removeUnionAllMember(int roomId){
//通过query语句删除记录,
// 即使设置了cascade = CascadeType.REMOVE及联删除权限,
// 也无效果,只会删除主类,子类不会删除;因为query执行是直接在mysql层面执行crud操作,不涉及及联相关;
unionMemberDao.deleteUnionAllMemberBy(roomId);
//设置了cascade = CascadeType.REMOVE
//通过jpa自带的delete、deleteAll接口方法,
// 删除主实体类,
// 可以及联删除子类;因为jpa自带了及联相关处理
// unionMemberDao.delete(unionMemberDao.getTbUnionmemberHeaderBy(roomId,2));
}
//query语句
//删除所有成员
@Transactional(propagation = Propagation.REQUIRED)
@Modifying(clearAutomatically = true,flushAutomatically = true)
@Query(value = "delete FROM TbUnionmember s " +
"where s.roomid = ?1 ")
Integer deleteUnionAllMemberBy(int roomid);