Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

anotaçoes dando conflitos

Boa noite, estou tendo serios problemas com as anotações, tenho a minha classe Funcionario e minha Class Endereco e a minha Classe Cliente. Um detalhe, a minha classe funcionario está ligado a um Endereco e o mesmo para o meu cliente, então as minhas 2 classes estão ligadas a classe Endereco, e quando eu adiciona um funcionario ele adiciona um cliente tbm, Tenho quase certeza que é por causa das minha anotações, como resolver o problema? as classes modelos...

Funcionario

@Entity
@Table
@NamedQueries({
    @NamedQuery(name = "Funcionario.listaTodos", query = "Select f from Funcionario f join fetch f.enderecos")
})
public class Funcionario implements Serializable{

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column
    private Long codigo;

    @Column(length = 50, nullable = false, unique = true)
    private String nome;

    @Column
    private Double salario;

    @Temporal(TemporalType.DATE)
    @Column
    private Calendar dataContrada = Calendar.getInstance();

    @OneToMany(mappedBy = "funcionario", cascade = CascadeType.ALL)
    private List<Endereco> enderecos = new ArrayList<Endereco>();

Cliente

@Entity
@Table
public class Cliente implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column
    private Long codigo;

    @Column(length = 50)
    private String nome;

    @Column
    private String tipoPessoa;

    @Column
    private String cpf;

    @Column
    private String cnpj;

    @Column
    private String email;

    @Column
    private String observacao;

    @Column
    private Integer celular;

    @OneToMany(mappedBy = "cliente", cascade=CascadeType.ALL)
    private List<Endereco> enderecos = new ArrayList<Endereco>();

Endereco

@Entity
@Table
public class Endereco implements Serializable{

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column
    private Long codigo;

    @Column(length = 50, nullable = false)
    private String cidade;

    @Column(length = 40)
    private String bairro;

    @ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
    private Funcionario funcionario = new Funcionario();

    @ManyToOne(cascade = CascadeType.PERSIST)
    private Cliente cliente = new Cliente();
2 respostas

Opa, qual o problema que ta dando?

solução!

Ola Alberto kk, não é um "erro" e sim um conflito eu acho, porque quando adiciono um funcionario automaticamente adiciona um cliente :(