Ao realizar a consulta na Unidade de Trabalho é retornado um erro, vi que no banco de dados foi criada uma tabela de relacionamento, gostaria de saber como faço para não criar esta tabela de relacionamento funcionarios_unidade_trabalhos, abaixo as classes para analise: Funcionario
package br.com.alura.spring.data.orm;
import java.time.LocalDate;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
@Entity
@Table(name="funcionarios")
public class Funcionario {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String nome;
private String Cpf;
private double salario;
private LocalDate dataContratacao;
@ManyToOne
@JoinColumn(name = "cargo_id",nullable = false)
private Cargo cargo;
@Fetch(FetchMode.SELECT)
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "funcionarios_unidades",joinColumns = {
@JoinColumn(name="fk_funcionario")},
inverseJoinColumns = {@JoinColumn(name="fk_unidade")})
private List<UnidadeTrabalho> unidadeTrabalhos;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public double getSalario() {
return salario;
}
public void setSalario(double salario) {
this.salario = salario;
}
public LocalDate getDataContratacao() {
return dataContratacao;
}
public void setDataContratacao(LocalDate dataContratacao) {
this.dataContratacao = dataContratacao;
}
public String getCpf() {
return Cpf;
}
public void setCpf(String cpf) {
Cpf = cpf;
}
public Cargo getCargo() {
return cargo;
}
public void setCargo(Cargo cargo) {
this.cargo = cargo;
}
public List<UnidadeTrabalho> getUnidadeTrabalhos () {
return unidadeTrabalhos;
}
public void setUnidadeTrabalhos (List<UnidadeTrabalho> unidadeTrabalhos ) {
this.unidadeTrabalhos = unidadeTrabalhos ;
}
@Override
public String toString() {
return "Funcionario [id=" + id + ", nome=" + nome + ", Cpf=" + Cpf + ", salario=" + salario
+ ", dataContratacao=" + dataContratacao + ", cargo=" + cargo + ", unidadeTrablahos=" + unidadeTrabalhos
+ "]";
}
}
Unidade de Trabalho
package br.com.alura.spring.data.orm;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
@Entity
@Table(name="unidade_trabalho")
public class UnidadeTrabalho {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String descricao;
private String endereco;
@ManyToMany(mappedBy = "unidadeTrabalhos",fetch = FetchType.EAGER)
private List<Funcionario> funcionarios;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public List<Funcionario> getFuncionarios() {
return funcionarios;
}
public void setFuncionarios(List<Funcionario> funcionarios) {
this.funcionarios = funcionarios;
}
@Override
public String toString() {
return "UnidadeTrabalho [id=" + id + ", descricao=" + descricao + ", endereco=" + endereco + ", funcionarios="
+ funcionarios + "]";
}
}