Dúvida mapeamento Hibernate

Java

25/10/2010

Pessoal bom dia.

Tenho minha classe SolicitacaoDTO:

package br.edu.unipam.biblioteca.sgab.modelo;

import java.io.Serializable;
import java.sql.Date;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import org.dphibernate.core.HibernateProxy;

@Entity
@Table(name = "TB_Solicitacao")
public class SolicitacaoDTO extends HibernateProxy implements Serializable{
   
    /**
     *
     */
    private static final long serialVersionUID = -1530264557987513212L;
   
    private long     idSolicitacao;
    private String     tituloMatSolicitacao;
    private String     autorMatSolicitacao;
    public     String     emailSolicitante;
    private int     anoMatSolicitacao;
    private String     editoraMatSolicitacao;
    private String     edicaoMatSolicitacao;
    private String     imprementaMatSolicitacao;
    private Date    dataSolicitacao;
    private String     tipoBibliografia;
    private String     disciplinaMatSolicitacao;
    private String     cursoMatSolicitacao;
    private String    loginUsuario;
    private String     Observacao;
    private Set<SituacaoSolicitacaoDTO> solicitacaoDTO = new HashSet<SituacaoSolicitacaoDTO>();
   
   
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public long getIdSolicitacao() {
        return idSolicitacao;
    }
    public void setIdSolicitacao(long idSolicitacao) {
        this.idSolicitacao = idSolicitacao;
    }
   
    @Column(name = "tituloMatSolicitacao")
    public String getTituloMatSolicitacao() {
        return tituloMatSolicitacao;
    }
    public void setTituloMatSolicitacao(String tituloMatSolicitacao) {
        this.tituloMatSolicitacao = tituloMatSolicitacao;
    }
   
    @Column(name = "autorMatSolicitacao")
    public String getAutorMatSolicitacao() {
        return autorMatSolicitacao;
    }
    public void setAutorMatSolicitacao(String autorMatSolicitacao) {
        this.autorMatSolicitacao = autorMatSolicitacao;
    }
   
    @Column(name = "emailSolicitante")
    public String getEmailSolicitante() {
        return emailSolicitante;
    }
    public void setEmailSolicitante(String emailSolicitante) {
        this.emailSolicitante = emailSolicitante;
    }
   
    @Column(name = "anoMatSolicitacao")
    public int getAnoMatSolicitacao() {
        return anoMatSolicitacao;
    }
    public void setAnoMatSolicitacao(int anoMatSolicitacao) {
        this.anoMatSolicitacao = anoMatSolicitacao;
    }
   
    @Column(name = "editoraMatSolicitacao")
    public String getEditoraMatSolicitacao() {
        return editoraMatSolicitacao;
    }
    public void setEditoraMatSolicitacao(String editoraMatSolicitacao) {
        this.editoraMatSolicitacao = editoraMatSolicitacao;
    }
   
    @Column(name = "edicaoMatSolicitacao")
    public String getEdicaoMatSolicitacao() {
        return edicaoMatSolicitacao;
    }
    public void setEdicaoMatSolicitacao(String edicaoMatSolicitacao) {
        this.edicaoMatSolicitacao = edicaoMatSolicitacao;
    }
   
    @Column(name = "imprementaMatSolicitacao")
    public String getImprementaMatSolicitacao() {
        return imprementaMatSolicitacao;
    }
    public void setImprementaMatSolicitacao(String imprementaMatSolicitacao) {
        this.imprementaMatSolicitacao = imprementaMatSolicitacao;
    }
   
    @Column(name = "dataSolicitacao")
    public Date getDataSolicitacao() {
        return dataSolicitacao;
    }
    public void setDataSolicitacao(Date dataSolicitacao) {
        this.dataSolicitacao = dataSolicitacao;
    }
   
    @Column(name = "tipoBibliografia")
    public String getTipoBibliografia() {
        return tipoBibliografia;
    }
    public void setTipoBibliografia(String tipoBibliografia) {
        this.tipoBibliografia = tipoBibliografia;
    }
   
    @Column(name = "disciplinaMatSolicitacao")
    public String getDisciplinaMatSolicitacao() {
        return disciplinaMatSolicitacao;
    }
    public void setDisciplinaMatSolicitacao(String disciplinaMatSolicitacao) {
        this.disciplinaMatSolicitacao = disciplinaMatSolicitacao;
    }
   
    @Column(name = "cursoMatSolicitacao")
    public String getCursoMatSolicitacao() {
        return cursoMatSolicitacao;
    }
    public void setCursoMatSolicitacao(String cursoMatSolicitacao) {
        this.cursoMatSolicitacao = cursoMatSolicitacao;
    }
   
    @Column(name = "loginUsuario")
    public String getLoginUsuario() {
        return loginUsuario;
    }
    public void setLoginUsuario(String loginUsuario) {
        this.loginUsuario = loginUsuario;
    }
   
    @Column(name = "Observacao")
    public String getObservacao() {
        return Observacao;
    }
    public void setObservacao(String observacao) {
        Observacao = observacao;
    }
   
    public void setSolicitacaoDTO(Set<SituacaoSolicitacaoDTO> solicitacaoDTO) {
        this.solicitacaoDTO = solicitacaoDTO;
    }
   
    @OneToOne(mappedBy = "solicitacaoDTO")
    public Set<SituacaoSolicitacaoDTO> getSolicitacaoDTO() {
        return solicitacaoDTO;
    }
   
   
}


e minha classe SituacaoSolicitacaoDTO:

package br.edu.unipam.biblioteca.sgab.modelo;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import org.dphibernate.core.HibernateProxy;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;



@Entity
@Table(name = "TB_SituacaoSolicitacao")
public class SituacaoSolicitacaoDTO extends HibernateProxy implements Serializable{

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

    private long idSitSolicitacao;
    private String descSitSolicitacao;
    private SolicitacaoDTO solicitacaoDTO;
   
   
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public long getIdSitSolicitacao() {
        return idSitSolicitacao;
    }
    public void setIdSitSolicitacao(long idSitSolicitacao) {
        this.idSitSolicitacao = idSitSolicitacao;
    }
   
    @Column(name="descSitSolicitacao")
    public String getDescSitSolicitacao() {
        return descSitSolicitacao;
    }
    public void setDescSitSolicitacao(String descSitSolicitacao) {
        this.descSitSolicitacao = descSitSolicitacao;
    }
   
    public void setSolicitacaoDTO(SolicitacaoDTO solicitacaoDTO) {
        this.solicitacaoDTO = solicitacaoDTO;
    }
   
    @OneToOne(targetEntity = br.edu.unipam.biblioteca.sgab.modelo.SolicitacaoDTO.class)
    @JoinColumn(name = "idSolicitacao", nullable = false)
    public SolicitacaoDTO getSolicitacaoDTO() {
        return solicitacaoDTO;
    }

}


O problema é que quando inicio a minha App acontece o seguinte problema:

Erro ao inicializar a SessionFactory.org.hibernate.AnnotationException: Unknown mappedBy in: br.edu.unipam.biblioteca.sgab.modelo.SolicitacaoDTO.solicitacaoDTO, referenced property unknown: java.util.Set.solicitacaoDTO

queria saber se tem alguma coisa de errado no código...

Carlos Lima

Carlos Lima

Curtidas 0

Respostas

Andrei Hirata

Andrei Hirata

25/10/2010

Ta informando que algum mapeamento não esta sendo encontrado
Para fazer um teste retire os mapeamentos com referencia a esta classe e veja se o problema persiste
  private Set<SituacaoSolicitacaoDTO> solicitacaoDTO = new HashSet<SituacaoSolicitacaoDTO>();

Outra forma é deixar o netbeans criar as classes de persistencia para vc e deixar que ela mapeie automaticamente.Dessa forma, vc poderá fazer o teste se é no mapeamento ou em outro lugar como controlador ou algum erro de codigo.

GOSTEI 0
Davi Costa

Davi Costa

25/10/2010

Carlos,

na sua primeira classe vc faz um relacionamento OneToOne,
mas instancia um conjunto HashMap, tinha que ser simplesmente o objeto
como na segunda classe. Dá uma conferida para ver se é isso.

Att Davi
GOSTEI 0
Dyego Carmo

Dyego Carmo

25/10/2010

Opa , Resolveu ?
GOSTEI 0
Andrei Hirata

Andrei Hirata

25/10/2010

Carlos..Nos informa se conseguiu resolver o problema.
GOSTEI 0
Carlos Lima

Carlos Lima

25/10/2010

Andrei resolvi sim o problema é que o mapeamento estava errado estava definindo o relacionamento @OneToOne para o meu Set. Este era o problema.

abraço.
GOSTEI 0
POSTAR