Ajuda com persistencia de dados TopLink

0 respostas
A

Pessoal, estou muito precisando de ajuda com esse problema tenho um trabalho da faculdade pra terminar e não estou conseguindo acertar as anotações nas classes que precisam ser persistidas, nem o professor esta conseguindo me ajudar, tenho quase certeza que o problema esta na anotação ManyToOne e OneToMany, no caso um cliente tem muitos treinamentos e muitas biometria, e cada biometria ou treinamento pertence apenas a um cliente. Estou postando as classes envolvidas no problema, peço pra que me deem algumas dicas do que pode estar errado, ja estou na volta a mais de uma semana e não consigo terminar esse trabalho. Agradeço qualquer ajuda.

@Entity   
@DiscriminatorValue(value= "Cliente")   
public class BDCliente extends BDPessoa implements Cliente, Serializable {   
       
    private static final long serialVersionUID = -5457133329227046620L;   
    //esta dando erro no campo nullable = false, testei sem ele, e foi de boa...   
    //em funcionario nao tem nullable, tem q perguntar pro prof.   
    @Column(name="codCliente", nullable = false)   
    private int codCliente;   
       
    @OneToMany (cascade = CascadeType.ALL, mappedBy = "cliente")   
    private List<Treinamento> treinamento;   
       
    @OneToMany (cascade = CascadeType.ALL, mappedBy = "cliente")   
    private List<Biometria> biometria;   
       
    public int getCodCliente() {   
        return codCliente;   
    }   
  
    public void setCodCliente(int codCliente) {   
        this.codCliente = codCliente;   
    }   
  
    public String getTipoPessoa() {   
        return ("Cliente");   
    }

classe pessoa

@Entity   
@Table(name="Pessoa")   
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)   
@DiscriminatorColumn(name= "tipo_de_pessoa", discriminatorType = DiscriminatorType.STRING)   
public abstract class BDPessoa implements Pessoa, Serializable{   
  
    @Id   
    @Column(name="CPF", nullable = false)   
    private String cpf;   
  
    @Column(name="tipo_de_pessoa", nullable = false)   
    public abstract String getTipoPessoa();   
  
    @Column(name="Nome", nullable = false)   
    private String nome;   
  
    @Column(name="Endereco", nullable = false)   
    private String endereco;   
  
    @Column(name="Telefone", nullable = true)   
    private String telefone;   
  
    @Column(name="Cidade", nullable = false)   
    private String cidade;   
  
    @Column(name="Estado", nullable = false)   
    private String estado;   
  
    @Column(name="Codigo_Acesso", nullable = false)   
    private String codAcesso;   
  
    @Column(name="Senha", nullable = false)   
    private String senha;   
  
    @Column(name="Ativo", nullable = false)   
    private boolean ativo;

classe biometria

@Entity   
@Table(name = "Biometria")   
public class BDBiometria implements Biometria, Serializable{   
  
    @Id   
    @GeneratedValue(strategy = GenerationType.AUTO)   
    private int codBiometria;   
       
    @ManyToOne   
    private Cliente cliente;   
       
    @Column(name="altura", length=10, nullable = false)   
    private float altura;   
       
    @Column(name="peso", nullable = false)   
    private float peso;   
       
    @Column(name="taxaGordura", nullable = false)   
    private float taxaGordura;   
       
    @Column(name="objetivo", nullable = false)   
    private String objetivo;   
       
  
    public float getAltura() {   
        return altura;   
    }

classe treinamento

@Entity   
@Table(name = "Treinamento")   
  
public class BDTreinamento implements Treinamento, Serializable {   
  
    private static final long serialVersionUID = -6615148294175474396L;   
       
    @Id   
    private int codTreinamento;   
       
    @ManyToOne   
    private Cliente cliente;   
       
    private String atividade;   
       
  
    private float carga;   
       
    private int numeroRepeticoes;   
       
    private int numeroSeries;     
       
    public String getAtividade() {   
        return atividade;   
    }
Criado 18 de junho de 2008
Respostas 0
Participantes 1