boa noite
blz ae com vcs? espero q sim
estou desenvolvendo um sistema de ponto eletronico, e estou com problema
em fazer o mapeamento das entitade.
tenho duas entidades.
Pessoa e Ponto
Pessoa.class
[code]@Entity
public class Pessoa implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(nullable=false)
private Long id;
@OneToMany(cascade=CascadeType.ALL,mappedBy = "pessoa")
private List<Ponto> pontos;
@OneToOne(cascade=CascadeType.ALL,mappedBy = "pessoa")
private Horario horario;
@Column(unique=true)
private String cpf;
@OneToOne(cascade=CascadeType.ALL,mappedBy="pessoa")
private Digital digital;
private String nome;
private String email;
@ManyToOne
private Departamento Departamento;
/** Creates a new instance of Pessoa */
public Pessoa() {
}
// gets ,sets , hashcode e equal omitidos
[/code]
A minha classe ponto, eu gostaria q tive os campos Pessoa, DatadoPonto e Turno como chaves, por isso criei uma chave composta.
Ponto.class
[code]
@Entity
public class Ponto implements Serializable {
@EmbeddedId
private PontoPK id;
private String justEntrada;
private String justSaida;
@Temporal(value = TemporalType.TIME)
private Date horaEntrada;
@Temporal(value = TemporalType.TIME)
private Date horaSaida;
@Temporal(value = TemporalType.TIME)
private Date totalHorasTrabalhas;
// gets ,sets , hashcode e equal omitidos
[/code]
PontoPK.class
[code]
@Embeddable
public class PontoPK implements java.io.Serializable {
@ManyToOne
@JoinColumn(nullable=false)
private Pessoa pessoa;
@Column(nullable=false)
private String turno;
@Temporal(value = TemporalType.DATE)
@Column(nullable=false)
private Date dataPonto;
/** Creates a new instance of PontoPK */
public PontoPK(Pessoa pessoa,Date dataPonto,String turno ) {
this.setPessoa(pessoa);
this.setDataPonto(dataPonto);
this.setTurno(turno);
}
protected PontoPK() {
}
// gets ,sets , hashcode e equal omitidos[/code]
meu problema eh msm eu colocando a Pessoa como chave , qdo olho direto no banco, esse campo nao eh criado como chave. E por isso nao consigo inserir duas pessoas diferentes no msm dia e mesmo turno.
obs.: talvez alguem já tenha vista esse mesmo topic em outros foruns,
é q preciso de uma ajuda urgente e não consigo axar resposta pra esse probelma
aguardo alguma ajuda
grato