Opa…tenho um relacionamento ManyToOne, to usando MySQL e nas tabelas nao criei chave estrangeira, somente criei um campo inteiro a mais chamado ‘id_empresa’ na tabela carga.
Meus Beans estão da seguinte maneira:
@Entity(name="carga")
public class CargaBean implements Carga{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer ID;
private String carroceria;
private String estadoOrigem;
private String estadoDestino;
private String cidadeOrigem;
private String cidadeDestino;
private String gerenciadoraRisco;
private String tipoVeiculo;
private String dataCarregamento;
private boolean obrigatorioSeguro;
private boolean cargaFracionada;
private boolean rastreamentoObrigatorio;
private boolean gerenciadoraRiscoObrigatorio;
private Long pesoCargaTonelada;
private Long pesoCargaVolume;
private Double valorFrete;
private String descricao;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="id")
@Fetch(FetchMode.JOIN)
private EmpresaBean empresa;
public EmpresaBean getEmpresa() {
return empresa;
}
public void setEmpresa(EmpresaBean empresa) {
this.empresa = empresa;
}
public String getCarroceria() {
return carroceria;
}
public String getCidadeDestino() {
return cidadeDestino;
}
public String getCidadeOrigem() {
return cidadeOrigem;
}
public String getDataCarregamento() {
return dataCarregamento;
}
public String getEstadoDestino() {
return estadoDestino;
}
public String getEstadoOrigem() {
return estadoOrigem;
}
public String getGerenciadoraRisco() {
return gerenciadoraRisco;
}
public Long getPesoCargaTonelada() {
return pesoCargaTonelada;
}
public Long getPesoCargaVolume() {
return pesoCargaVolume;
}
public String getTipoVeiculo() {
return tipoVeiculo;
}
public boolean isCargaFracionada() {
return cargaFracionada;
}
public boolean isGerenciadoraRiscoObrigatorio() {
return gerenciadoraRiscoObrigatorio;
}
public boolean isObrigatorioSeguro() {
return obrigatorioSeguro;
}
public boolean isRastreamentoObrigatorio() {
return rastreamentoObrigatorio;
}
public void setCargaFracionada(boolean cargaFracionada) {
this.cargaFracionada = cargaFracionada;
}
public void setCarroceria(String carroceria) {
this.carroceria = carroceria;
}
public void setCidadeDestino(String estadoDestino) {
this.estadoDestino = estadoDestino;
}
public void setCidadeOrigem(String estadoOrigem) {
this.estadoOrigem = estadoOrigem;
}
public void setDataCarregamento(String dataCarregamento) {
this.dataCarregamento = dataCarregamento;
}
public void setEstadoDestino(String estadoDestino) {
this.estadoDestino = estadoDestino;
}
public void setEstadoOrigem(String estadoOrigem) {
this.estadoOrigem = estadoOrigem;
}
public void setGerenciadoraRiscoObrigatorio(boolean gerenciadoraRiscoObrigatorio) {
this.gerenciadoraRiscoObrigatorio = gerenciadoraRiscoObrigatorio;
}
public void setGerenciadoraRisco(String gerenciadoraRisco) {
this.gerenciadoraRisco = gerenciadoraRisco;
}
public void setObrigatorioSeguro(boolean obrigatorioSeguro) {
this.obrigatorioSeguro = obrigatorioSeguro;
}
public void setPesoCargaTonelada(Long pesoCargaTonelada) {
this.pesoCargaTonelada = pesoCargaTonelada;
}
public void setPesoCargaVolume(Long pesoCargaVolume) {
this.pesoCargaVolume = pesoCargaVolume;
}
public void setRastreamentoObrigatorio(boolean rastreamentoObrigatorio) {
this.rastreamentoObrigatorio = rastreamentoObrigatorio;
}
public void setTipoVeiculo(String tipoVeiculo) {
this.tipoVeiculo = tipoVeiculo;
}
public Double getValorFrete() {
return valorFrete;
}
public void setValorFrete(Double valorFrete) {
this.valorFrete = valorFrete;
}
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;
}
e meu EmpresaBean
@Entity(name="empresa")
public class EmpresaBean implements Empresa{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
private Integer ID;
private Long CEP;
private Long CNPJ;
private Long telefone;
private String cidade;
private String estado;
private String contato;
private String endereco;
private String razaoSocial;
private String usuario;
private String senha;
private String tipoEmpresa;
@OneToMany(mappedBy="empresa", fetch=FetchType.LAZY)
@Cascade(CascadeType.ALL)
private Collection<CargaBean> cargas = new ArrayList<CargaBean>();
public Collection<CargaBean> getCargas() {
return cargas;
}
public void setCargas(Collection<CargaBean> cargas) {
this.cargas = cargas;
}
public Long getCEP() {
return CEP;
}
public Long getCNPJ() {
return CNPJ;
}
public String getCidade() {
return cidade;
}
public String getContato() {
return contato;
}
public String getEndereco() {
return endereco;
}
public String getEstado() {
return estado;
}
public String getRazaoSocial() {
return razaoSocial;
}
public String getSenha() {
return senha;
}
public Long getTelefone() {
return telefone;
}
public String getTipoEmpresa() {
return tipoEmpresa;
}
public String getUsuario() {
return usuario;
}
public void setCEP(Long CEP) {
this.CEP = CEP;
}
public void setCNPJ(Long CNPJ) {
this.CNPJ = CNPJ;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public void setContato(String contato) {
this.contato = contato;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public void setEstado(String estado) {
this.estado = estado;
}
public void setRazaoSocial(String razaoSocial) {
this.razaoSocial = razaoSocial;
}
public void setSenha(String senha) {
this.senha = senha;
}
public void setTelefone(Long telefone) {
this.telefone = telefone;
}
public void setTipoEmpresa(String tipoEmpresa) {
this.tipoEmpresa = tipoEmpresa;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public Integer getID() {
return ID;
}
public void setID(Integer id) {
this.ID = id;
}
Se eu não mandar nenhuma Carga na List, ele funciona numa boa…mas qdo eu tento mandar, ele simplesmente não salva nada…alguém pode me dar uma força?
[]'s