Java JPA错误:缺少字段映射

时间:2016-01-22 04:24:45

标签: java jpa netbeans

我遇到了持久化实体关系对象的Java JPA问题。我的表: Rezervacija由(IDrez,idKorisnik,idKompanija,idKomponenta)组成。我坚持使用新对象(我在IDRez之后从数据库获得了所有3个参数,而且没关系.ps idRez正在自动增量按数据库。

这是我的代码:

public class Komponenta implements Serializable {

@Id 
private Integer idKom;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "idKomponenta")
private Collection<Rezervacija> rezervacijaCollection = new ArrayList<>();
}

public class Korisnik implements Serializable { 

@Id
private Integer idKor;

@OneToMany(cascade = CascadeType.ALL, mappedBy = "idKorisnik")
private Collection<Rezervacija> rezervacijaKorisnikCollection = new    ArrayList<>();

@OneToMany(cascade = CascadeType.ALL, mappedBy = "idKompanija")
private Collection<Rezervacija> rezervacijaKompanijaCollection = new    ArrayList<>();
}

public class Rezervacija implements Serializable {

@Id
private Integer idRez;

@JoinColumn(name = "idKom", referencedColumnName = "idKomponenta")
@ManyToOne(cascade = CascadeType.ALL)
private Komponenta idKomponenta;

@JoinColumn(name = "idKor", referencedColumnName = "idKorisnik")
@ManyToOne(cascade = CascadeType.ALL)
private Korisnik idKorisnik;

@JoinColumn(name = "idKompanija", referencedColumnName = "idKompanija")
@ManyToOne(cascade = CascadeType.ALL)
private Korisnik idKompanija;

}

//可执行代码部分em - entitymanager

entityManager.getTransaction().begin();

Korisnik korisnik = entityManager.find(Korisnik.class, 1);
Korisnik kompanija = entityManager.find(Korisnik.class, 2);
Komponenta komponenta = entityManager.find(Komponenta.class, 1);

Rezervacija rez = new Rezervacija(korisnik, kompanija, komponenta);

entityManager.persist(rez);
entityManager.getTransaction().commit();

当我运行此代码时,我遇到了控制台输出错误:

  

异常说明:缺少字段[komponenta.idKomponenta]的映射。

0 个答案:

没有答案