Я совершенно новичок в спящем режиме.
У меня есть следующие таблицы:
Контракт
ContractID (PK), Другие столбцы
Provider
ProviderID (PK), другие столбцы
ContractualAgreement ContractualAgreementID (PK), ContractID (FK), ProviderID (FK),Другие столбцы
Я использую следующие спящие аннотации:
**Contract.java**
{
private List<ContractualAgreement> contractualAgreements = new ArrayList<ContractualAgreement>();
@OneToMany(cascade= { javax.persistence.CascadeType.ALL },fetch= FetchType.LAZY)
@JoinColumn (name="ContractID", updatable=false,insertable=false)
public List<ContractualAgreement> getContractualAgreements() {
return this.contractualAgreements;
}
}
**Provider.java**
{
private List<ContractualAgreement> contractualAgreements = new ArrayList<ContractualAgreement>();
@OneToMany(cascade= { javax.persistence.CascadeType.ALL },fetch= FetchType.LAZY)
@JoinColumn (name="ProviderID", updatable=false,insertable=false,nullable=false)
public List<ContractualAgreement> getContractualAgreements() {
return this.contractualAgreements;
}
}
}
**ContractualAgreement.java**
{
@Id
@Column(name = "ContractualAgreementID", unique = true, nullable = false)
public long getContractualAgreementId() {
return this.contractualAgreementId;
}
public void setContractualAgreementId(long contractualAgreementId) {
this.contractualAgreementId = contractualAgreementId;
}
@ManyToOne(fetch= FetchType.LAZY)
@JoinColumn(name = "ProviderID",updatable=false,insertable=false,nullable=false)
public Provider getProvider() {
return this.provider;
}
public void setProvider(Provider provider) {
this.provider = provider;
}
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="ContractID",updatable=false,insertable=false,nullable=false)
public Contract getContract() {
return this.contract;
}
}
Я заполняю данные в следующем порядке:
- объект контракта на объекте договорного соглашения.
- список договорных соглашений на провайдера.
, и я пытаюсь сохранить провайдера с помощью saveOrUpdate.
Теперь он сохраняет данные в провайдере, таблице договорных соглашений с правильным Provrid в договорном согласии.таблицы, но не сохраняет данные в таблице контрактов.
Кто-нибудь может указать, что я делаю неправильно?
Любая помощь приветствуется.