Ola pessoal
tenho um relacionamento oneToMany Bidirecional entre Questionario e QuestionarioItem
na classe QuestionarioItem possui uma chave composta que é formado pelo id do item + o id do questionario
quando mando o hibernate pra criar o banco ele cria uma terceira tabela
tabelas:
Questionario | Questionario_QUEST_ITEM | Quest_item
id | que_id | id
| queit_id
teria uma maneira de eliminar essa tabela???
essas são minhas classes@Embeddable
public class QuestionarioItemPK implements Serializable{
@Column(name="queit_que_id", nullable=false)
@Resolvable(colName="ID_QUEST")
private Questionario questionarioId;
@Column(name="queit_id", nullable=false)
@Resolvable(colName="ID")
private QuestionarioItem itemID;
@Entity
@Table(name="Quest_item", schema="Tecnicos")
public class QuestionarioItem implements Serializable {
@EmbeddedId
@Resolvable(colName="ID")
private QuestionarioItemPK id;
@Column(name="queit_ordem")
@Resolvable(colName="ORDERM")
private Integer ordem;
@Column(name="queit_descricao", length=80)
@Resolvable(colName="DESCRIÇÃO")
private String descricao;
@Column(name="queit_comentario", length=200)
@Resolvable(colName="COMENTÁRIO")
private String comentario;
@Column(name="queit_requerido", length=20)
@Resolvable(colName="REQUERIDO")
private Boolean requerido;
@Column(name="queit_vlrmin", length=45)
@Resolvable(colName="VALOR MIN.")
private String valorMin;
@Column(name="queit_vlrmax", length=45)
@Resolvable(colName="VALOR MAX.")
private String valorMax;
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="queit_que_id", insertable=true, updatable=true)
@Fetch(FetchMode.JOIN)
@Cascade(CascadeType.SAVE_UPDATE)
@Resolvable(colName="QUESTIONÁRIO")
private Questionario questionario;
@OneToMany(mappedBy="quesItem")
@Cascade(CascadeType.ALL)
@Resolvable(colName="RESPOSTA")
private Collection<QuestionarioResposta> resposta;
@Entity
@Table(name="Questionario", schema="Tecnicos")
public class Questionario implements Serializable {
@Id
@Column(name="que_id", nullable=false)
@Resolvable(colName="ID")
private Integer id;
@Column(name="que_descricao", length=80)
@Resolvable(colName="DESCRIÇÃO")
private String descricao;
@Column(name="que_requerido", length=20)
@Resolvable(colName="REQUERIDO")
private Boolean requerido;
@Column(name="que_comentario", length=250)
@Resolvable(colName="COMENTÁRIO")
private String comentario;
@Temporal(TemporalType.DATE)
@Column(name="que_dataini")
@Resolvable(colName="INICIA EM", formatter=DateFormatter.class)
private Date dataInicio;
@Temporal(TemporalType.DATE)
@Column(name="que_datafim")
@Resolvable(colName="FINALIZA EM", formatter=DateFormatter.class)
private Date dataFim;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="que_emp_id", insertable=true, updatable=true)
@Fetch(FetchMode.JOIN)
@Cascade(CascadeType.SAVE_UPDATE)
@Resolvable(colName="EMPRESA")
private Empresa empresa;
@OneToMany(fetch=FetchType.LAZY)
@Cascade(CascadeType.ALL)
@Resolvable(colName="QUESTIONARIO ITEM")
private Collection<QuestionarioItem> itens;
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="questionario_tecnico", schema="Tecnicos",
joinColumns=@JoinColumn(name="ques_id"),
inverseJoinColumns=@JoinColumn(name="tec_id"))
@Cascade({CascadeType.SAVE_UPDATE, CascadeType.MERGE})
@Resolvable(colName="TÉCNICOS")
private Collection<Tecnicos> tecnicos;
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="questionario_cliente", schema="Tecnicos",
joinColumns=@JoinColumn(name="que_id"),
inverseJoinColumns=@JoinColumn(name="cli_id"))
@Cascade({CascadeType.SAVE_UPDATE, CascadeType.MERGE})
@Resolvable(colName="CLIENTE")
private Collection<Cliente> clientes;