Java @ManyTone未在子表中持久化父FKey列

Java @ManyTone未在子表中持久化父FKey列,java,xml,hibernate,spring-batch,Java,Xml,Hibernate,Spring Batch,下面的联接持久化了与每个客户机相关的taxjudictionary,但它没有在insert中包含联接(客户机代码)中使用的列,这导致我的数据库表TBL_TAX_judictionary.client_代码中为null。如何更改此设置以使客户端代码与其税务管辖权保持一致 @Entity @Table(name = "TBL_TAX_JURISDICTION") @XmlRootElement(name="taxJurisdiction") @XmlAccessorType(XmlAccessTyp

下面的联接持久化了与每个客户机相关的taxjudictionary,但它没有在insert中包含联接(客户机代码)中使用的列,这导致我的数据库表TBL_TAX_judictionary.client_代码中为null。如何更改此设置以使客户端代码与其税务管辖权保持一致

@Entity
@Table(name = "TBL_TAX_JURISDICTION")
@XmlRootElement(name="taxJurisdiction")
@XmlAccessorType(XmlAccessType.FIELD)
public class TaxJurisdiction {

    @ManyToOne(fetch = FetchType.LAZY, cascade=CascadeType.ALL )
    @JoinColumn(name="CLIENT_CODE", nullable = false, updatable = false, insertable = true)
    private Clients clients;

    @Id
    @GeneratedValue(generator = "UUID")
    @GenericGenerator(
            name = "UUID",
            strategy = "org.hibernate.id.UUIDGenerator"
    )
    @Column(name = "ID")
    private String Id;
....
}
@实体
@表(name=“TBL_客户”)
@XmlRootElement(name=“client”)
@XmlAccessorType(XmlAccessType.FIELD)
公共类客户端扩展提要{
@XmlElementWrapper(name=“taxJudictions”)
@xmlement(name=“taxjudiction”)
@OneToMany(mappedBy=“clients”,cascade=CascadeType.ALL)
私有列表=新的ArrayList();
@身份证
@纵队
@XmlElement(name=“客户端代码”)
私有字符串客户端代码;
公共列表gettaxjudictions(){
返回新的ArrayList(税务管辖区);
}
.....
}

删除
cascade=CascadeType。所有
都来自
taxjudiction
。您不应该将taxjusti权上的任何操作级联到客户端。另外,如果您真的不需要它来延迟,也可以删除
fetch
。以下代码在我的测试中运行良好

@ManyToOne
@JoinColumn(name=“CLIENT_CODE”,nullable=false,updateable=false,insertable=true)
私人客户;

谢谢,但它不起作用,客户代码仍在我的税务管辖区表中填充为空。如果我设置nullable=false,我的代码将失败:
嵌套异常为org.hibernate.PropertyValueException:not null属性引用空值或瞬时值?那个客户端在数据库中吗?是的,客户端代码是有效的。客户机正在被插入数据库的同时,税收管辖权。一旦我的代码运行,它会导致两个表都有条目,但是我的taxjustitution表中的CLIENT_代码为null。你能完成我用-1测试的流程吗。创建一个客户端。2.坚持下去。3.创建税务管辖区并将上一个客户端设置为税务管辖区。4.波斯是税收管辖区。如果仍然不起作用,请在保存税务管辖权时共享代码部分。
@Entity
@Table(name = "TBL_CLIENTS")
@XmlRootElement(name = "client")
@XmlAccessorType(XmlAccessType.FIELD)
public class Clients extends Feed {

    @XmlElementWrapper(name="taxJurisdictions")
    @XmlElement(name="taxJurisdiction")
    @OneToMany(mappedBy = "clients", cascade=CascadeType.ALL)
    private List<TaxJurisdiction> taxJurisdictions = new ArrayList<>();


    @Id
    @Column
    @XmlElement(name = "CLIENT_CODE")
    private String CLIENT_CODE;

    public List<TaxJurisdiction> getTaxJurisdictions() {
        return new ArrayList<>(taxJurisdictions);
    }

    .....
}