Problemas com persistencia de dados com 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, 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, e ainda tenho mais um de compiladores pra terminar, a coisa não ta facil hehehehe.
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 17 de junho de 2008
Respostas 0
Participantes 1