下面的联接将持久保留与每个客户端相关的TaxJurisdictions,但它不包括插入中联接(CLIENT_CODE)中使用的列,导致数据库表TBL_TAX_JURISDICTION.CLIENT_CODE中为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;
....
}
@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);
}
.....
}