Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 级联类型删除不从子表中删除记录_Hibernate_Spring Mvc_Jpa - Fatal编程技术网

Hibernate 级联类型删除不从子表中删除记录

Hibernate 级联类型删除不从子表中删除记录,hibernate,spring-mvc,jpa,Hibernate,Spring Mvc,Jpa,我正在开发一个SpringMVC,其中我有一个行程停止模型和一个项目事务模型。以下是我的行程停止模式: import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence

我正在开发一个SpringMVC,其中我有一个行程停止模型和一个项目事务模型。以下是我的行程停止模式:

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name="TripStop")
public class TripStopModel {
    @Id
    @Column(name="tripstopid")
    @GeneratedValue 
    private Integer tripStopId;

    @OneToMany(mappedBy = "tripStopModel", cascade = CascadeType.REMOVE)
    private List<ItemTransactionModel> itemTransactionModelList;
}
itemtx表是tripstop的子表。我希望每当一条记录从tripstop表中删除时,它在itemtx表中的子记录都应该自动删除。这就是我使用级联类型remove的原因。但它不起作用。以下是删除跳闸停止装置型号代码:

Session session = sessionFactory.getCurrentSession();
        session.delete(tripStopModel);

不会出现异常。所以,TripStopmodel和ItemTransactionModel都未从数据库中删除?trip stop model已删除,但ItemTransactionModel未删除。数据库引用完整性如何?数据库中有外键吗?ItemTransactionModel中的tripstopid以TripStopModel为目标,因此删除操作将失败并出现异常。您确定日志文件中没有任何内容吗?tripstopid列位于项目事务表中。日志中没有例外。
Session session = sessionFactory.getCurrentSession();
        session.delete(tripStopModel);