I'm sorry for the title if it's confusing, but my situation is this: In the system I'm creating a user can log several tips on anything he knows. while persisting the hint in the database will be stored in the hint a reference of the user who registered it.
Because, by criteria / jpa, I can retrieve the most logged-in user tips.
the classes
public class Usuario {
@Id @GeneratedValue
private Long id;
private String nome;
private String cpf;
private String email;
private String foto;
private String senha;
@OneToMany
private List<Pontuacao> pontucao;
@OneToOne
private Setor setor;
private Integer nivel;
public Usuario(){
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public List<Pontuacao> getPontucao() {
return pontucao;
}
public void setPontucao(List<Pontuacao> pontucao) {
this.pontucao = pontucao;
}
public Setor getSetor() {
return setor;
}
public void setSetor(Setor setor) {
this.setor = setor;
}
public String getFoto() {
return foto;
}
public void setFoto(String foto) {
this.foto = foto;
}
public Integer getNivel() {
return nivel;
}
public void setNivel(Integer nivel) {
this.nivel = nivel;
}
}
Class Hint
@Entity
public class Tip {
@Id @GeneratedValue
private Long id;
private String descricao;
@Lob
private String texto;
@OneToOne
private Arquivo midia;
@OneToOne
private Processo processo;
@OneToOne
private Usuario usuario;
private Integer votos;
@OneToOne
private Arquivo arquivoPdf;
@OneToMany(fetch=FetchType.EAGER)
private List<Comentario> comentarios;
@OneToMany @LazyCollection(LazyCollectionOption.FALSE)
private List<Usuario> usuarioVotos;
@Temporal(TemporalType.DATE)
private Date data;
public Dica(){
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getTexto() {
return texto;
}
public void setTexto(String texto) {
this.texto = texto;
}
public Arquivo getMidia() {
return midia;
}
public void setMidia(Arquivo midia) {
this.midia = midia;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public Integer getVotos() {
return votos;
}
public void setVotos(Integer votos) {
this.votos = votos;
}
public Processo getProcesso() {
return processo;
}
public void setProcesso(Processo processo) {
this.processo = processo;
}
public List<Comentario> getComentarios() {
return comentarios;
}
public void setComentarios(List<Comentario> comentarios) {
this.comentarios = comentarios;
}
public List<Usuario> getUsuarioVotos() {
return usuarioVotos;
}
public void setUsuarioVotos(List<Usuario> usuarioVotos) {
this.usuarioVotos = usuarioVotos;
}
public Arquivo getArquivoPdf() {
return arquivoPdf;
}
public void setArquivoPdf(Arquivo arquivoPdf) {
this.arquivoPdf = arquivoPdf;
}
public Date getData() {
return data;
}
public void setData(Date data) {
this.data = data;
}