I have an error.
package com.application.model;
import java.util.Date;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import com.fasterxml.jackson.annotation.JsonBackReference;
import lombok.Data;
import lombok.ToString;
@ToString
@Data
@Entity
@Table(name="dipendente", schema="negozio")
public class Dipendente {
public Dipendente() {};
public Dipendente(Long id, String nome, String cognome, Integer eta, Integer annoAssunzione,
Integer oreContratto, Date dataDiNascita, Gender gender, Azienda aziendaId) {
this.id = id;
this.nome = nome;
this.cognome = cognome;
this.eta = eta;
this.annoAssunzione = annoAssunzione;
this.oreContratto = oreContratto;
this.dataDiNascita = dataDiNascita;
this.gender = gender;
this.aziendaId = aziendaId;
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(nullable = true, name = "nome", length=50)
private String nome;
@Column(nullable = true, name = "cognome")
private String cognome;
@Column(nullable = true, name = "eta")
private Integer eta;
@Column(nullable = true, name = "anno_assunzione")
private Integer annoAssunzione;
@Column(nullable = true, name = "ore_contratto")
private Integer oreContratto;
@Temporal(TemporalType.DATE)
@Column(nullable = true, name = "data_di_nascita")
private Date dataDiNascita;
@Enumerated(EnumType.STRING)
@Column(nullable = true, name = "gender")
private Gender gender;
@ManyToOne(fetch = FetchType.LAZY,targetEntity = Azienda.class, cascade = CascadeType.MERGE)
@JoinColumn(name = "azienda_id")
@JsonBackReference
private Azienda aziendaId;
package com.application.model;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import lombok.ToString;
@ToString
@Entity
@Table(name="azienda", schema="negozio")
public class Azienda {
public Azienda () {}
public Azienda (Long idAzienda, String nomeAzienda, String sedeAzienda) {
this.idAzienda = idAzienda;
this.nomeAzienda = nomeAzienda;
this.sedeAzienda = sedeAzienda;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idAzienda;
@Column(nullable = true, name = "nome_azienda")
private String nomeAzienda;
@Column(nullable = true, name = "sede_azienda")
private String sedeAzienda;
@OneToMany(mappedBy="azienda_id",targetEntity=Dipendente.class,fetch=FetchType.LAZY,
cascade=CascadeType.ALL)
@JsonManagedReference
private Set <Dipendente> listaDipendenti = new HashSet<>();
public Long getIdAzienda() {
return idAzienda;
}
public void setId_azienda(Long idAzienda) {
this.idAzienda = idAzienda;
}
public String getNomeAzienda() {
return nomeAzienda;
}
public void setNomeAzienda(String nomeAzienda) {
this.nomeAzienda = nomeAzienda;
}
public String getSedeAzienda() {
return sedeAzienda;
}
public void setSedeAzienda(String sedeAzienda) {
this.sedeAzienda = sedeAzienda;
}
public Set<Dipendente> getListaDipendenti() {
return listaDipendenti;
}
public void setListaDipendenti(Set<Dipendente> listaDipendenti) {
this.listaDipendenti = listaDipendenti;
}
}
THIS IS MY ERROR :
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: com.application.model.Dipendente.azienda_id in com.application.model.Azienda.listaDipendenti
The program worked, after a week of my absence it started giving me these errors that I can't solve
@OneToMany(mappedBy="azienda_id",targetEntity=Dipendente.class,fetch=FetchType.LAZY,
cascade=CascadeType.ALL)
has to be changed to
@OneToMany(mappedBy="aziendaId",targetEntity=Dipendente.class,fetch=FetchType.LAZY,
cascade=CascadeType.ALL)
because you reference the property name not the column name.