JPA SpringBoot: Looper ved ManyToOne og OneToMany
Jeg ha 2 entities som begge peger på hinanden, når jeg har sat alt op og henter den query jeg har lavet looper de.@Entity
public class Chain {
@Id
private int id;
@Column
private String chainName;
@Column(columnDefinition = "TEXT")
private String chainLicense;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="companyId") //, insertable=false, updatable=false)
private Company company;
public int getId() { return id; }
public void setId(int id) { this.id = id; }
public String getChainName() { return chainName; }
public void setChainName(String chainName) { this.chainName = chainName; }
public String getChainLicense() { return chainLicense; }
public void setChainLicense(String chainLicense) { this.chainLicense = chainLicense; }
public boolean hasChainLicense(){ return !this.chainLicense.isEmpty(); }
public Company getCompany() { return company; }
public void setCompany(Company company) { this.company = company; }
}
@Entity
public class Company {
@Id
private int id;
@Column
private String companyName;
@OneToMany(mappedBy = "company", fetch = FetchType.LAZY)
private List<Chain> chainList;
public int getId() { return id; }
public void setId(int id) { this.id = id; }
public String getCompanyName() { return companyName; }
public void setCompanyName(String companyName) { this.companyName = companyName;}
public List<Chain> getChainList() { return chainList;}
public void setChainList(List<Chain> chainList) { this.chainList = chainList; }
}
Hvis jeg fjerner ChainList getter og setter og getCompany getter og setter, så stopper den med at loope men jeg får ikke den data.
Setter på chain fungere heller ikke hvis jeg lægger til et company objekt.
...
Company company = companyRepository.findById(byUsername.getCompany());
Chain chain = new Chain();
chain.setId(id);
chain.setChainName(name);
chain.setChainLicense(chainLicense);
chain.setCompany(company);
chainRepository.save(chain);
...
Nogen her som er super sej til JPA ?