Hibernate:persisteng@OneToMany毫无例外地被卡住了(在showsql中没有打印子实体插入)

Hibernate:persisteng@OneToMany毫无例外地被卡住了(在showsql中没有打印子实体插入),hibernate,jpa,hibernate-mapping,persist,Hibernate,Jpa,Hibernate Mapping,Persist,主体: CustomerAgreement { @OneToMany(mappedBy = "customerAgreement", orphanRemoval = true, fetch = FetchType.LAZY, cascade = {CascadeType.ALL}) private List<CustomerAgreementPeriod> agreementPeriods; } 主要代码: CustomerAgreement cAgree

主体:

 CustomerAgreement {

     @OneToMany(mappedBy = "customerAgreement", orphanRemoval = true, fetch = FetchType.LAZY, cascade = {CascadeType.ALL})
     private List<CustomerAgreementPeriod> agreementPeriods;
 }
主要代码:

CustomerAgreement cAgreement = new CustomerAgreement();
        cAgreement.setId(32121212l);
        cAgreement.setName("Kiki");;
        cAgreement.setCustomerId("140");

        List<CustomerAgreementPeriod> cap = new ArrayList<>();
        CustomerAgreementPeriod capy = new CustomerAgreementPeriod();
        capy.setPid("1");
        capy.setValidFrom(new Date());
        capy.setValidTo(new Date());
        capy.setCustomerAgreement(cAgreement);

        CustomerAgreementPeriod capy2 = new CustomerAgreementPeriod();
        capy2.setPid("2");
        capy2.setValidFrom(new Date());
        capy2.setValidTo(new Date());
        capy2.setCustomerAgreement(cAgreement);

        cap.add(capy);
        cap.add(capy2);
        cAgreement.setAgreementPeriods(cap);
        em.getTransaction().begin();
        em.persist(cAgreement);
        em.getTransaction().commit();
似乎卡在某个地方的线程可能是无限循环或其他东西


有人能提出为什么会发生这种情况以及如何解决这个问题吗?

这个问题是站在我这边的

但奇怪的是,Hibernate没有抛出任何异常并继续运行

问题:根据上述实体,表中不存在字段ID和客户ID

我认为我们应该始终在persistence.xml中添加validate proeprty,以便在部署时进行验证

CustomerAgreement cAgreement = new CustomerAgreement();
        cAgreement.setId(32121212l);
        cAgreement.setName("Kiki");;
        cAgreement.setCustomerId("140");

        List<CustomerAgreementPeriod> cap = new ArrayList<>();
        CustomerAgreementPeriod capy = new CustomerAgreementPeriod();
        capy.setPid("1");
        capy.setValidFrom(new Date());
        capy.setValidTo(new Date());
        capy.setCustomerAgreement(cAgreement);

        CustomerAgreementPeriod capy2 = new CustomerAgreementPeriod();
        capy2.setPid("2");
        capy2.setValidFrom(new Date());
        capy2.setValidTo(new Date());
        capy2.setCustomerAgreement(cAgreement);

        cap.add(capy);
        cap.add(capy2);
        cAgreement.setAgreementPeriods(cap);
        em.getTransaction().begin();
        em.persist(cAgreement);
        em.getTransaction().commit();
Hibernate: 
    select
        CUST_AGT_PERIOD_SEQ.nextval 
    from
        dual
Hibernate: 
    select
        CUST_AGT_PERIOD_SEQ.nextval 
    from
        dual
Hibernate: 
    insert 
    into
        CIM_SNOW_CUST_AGREEMENT_TAB
    values