Problema na inserçao de dados com hibernate

0 respostas
P

Por favor estou com problema com hibernate com o mapeamento sou novo no mapeamento com hibernate ja tentei de tudo segue abaixo os mapeamentos
Segue abaixo as Classes mapeadas, o crud para inserção dos dados, e as tabelas estado e cidade com os dados duplicados.
não sei o que fazer para que toda vez que inserir uma cidade não inseri um estado duplicado se alguem puder me ajudar agradeço muito.

import java.io.Serializable;

import java.util.List;

import javax.persistence.*;

import javax.persistence.ManyToOne;

import org.hibernate.annotations.Cascade;

import org.hibernate.annotations.Fetch;

import org.hibernate.annotations.FetchMode;

import org.hibernate.annotations.ForeignKey;

/**
*

  • @author paulo
    */
    @Entity()
    @Table(name=“cidade”)
    public class Cidade implements Serializable{
    @Id
    @GeneratedValue
    @Column()
    private Integer cidadeid;
    @Column()
    private String nome;
    @ManyToOne(targetEntity=Estado.class,optional=true,fetch= FetchType.EAGER)
    @JoinColumn(name=“estadoid”,insertable=true,updatable=true,referencedColumnName=“estadoid”,nullable=true)
    @Fetch(FetchMode.JOIN)

private Estado estado;

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package Modelo;
import java.util.List;

import java.io.Serializable;

import java.util.Collection;

import java.util.Set;

import javax.persistence.*;

import javax.persistence.GeneratedValue;

/**
*

  • @author paulo
    
    */
    
    @Entity
    
    @Table(name=estado)
    
    public class Estado implements Serializable{
    
    @Id
    
    @GeneratedValue
    
    @Column(insertable=true,updatable=false)
    
    private Integer estadoid;
    
    @Column()
    
    private String uf;
    
    @OneToMany(mappedBy=estado,cascade={ CascadeType.ALL},fetch= FetchType.EAGER)
    

private Collection cidade;

}

Cidade cidade = new Cidade();
Estado estado = new Estado();

estado.setUf(combouf.getSelectedItem().toString());

cidade.setNome(txtNome.getText());

cidade.setEstado(estado);

estado.setCidade(new HashSet());
estado.getCidade().add(cidade);

DaoEstado da = new DaoEstado();

da.Inserir(estado);

PreencherCampos();

estadoid uf
1 AC
2 AC

cidadeid nome estadoid
1 fffffffffffffff 1
2 eeeeeeeeeeeeee 2
NULL NULL NULL

Criado 27 de abril de 2013
Respostas 0
Participantes 1