Mapeamento 1 - n

pessoal espero que vcs me ajudem a solucionar este problema.
Eh o seguinte:
tenho duas classes uma ordemserviço e outra conserto
uma ordemserviço possui n conserto daí fiz:

para a classe conserto tenho os seguintes atributos e os metodos foram gerados automaticamente pelo netbeans

[code] package beans;

public class Conserto {
private int codigo_c;
private int codigofuncionario;
private String tipoconserto;
private int complexidade;
private String descricao;
private boolean roupadiferenciada;
private float valor;

/** Creates a new instance of Conserto */
public Conserto() {
}

public int getCodigo_c() {
    return codigo_c;
}

public void setCodigo_c(int codigo_c) {
    this.codigo_c = codigo_c;
}

public int getCodigofuncionario() {
    return codigofuncionario;
}

public void setCodigofuncionario(int codigofuncionario) {
    this.codigofuncionario = codigofuncionario;
}

public String getTipoconserto() {
    return tipoconserto;
}

public void setTipoconserto(String tipoconserto) {
    this.tipoconserto = tipoconserto;
}

public int getComplexidade() {
    return complexidade;
}

public void setComplexidade(int complexidade) {
    this.complexidade = complexidade;
}

public String getDescricao() {
    return descricao;
}

public void setDescricao(String descricao) {
    this.descricao = descricao;
}

public boolean isRoupadiferenciada() {
    return roupadiferenciada;
}

public void setRoupadiferenciada(boolean roupadiferenciada) {
    this.roupadiferenciada = roupadiferenciada;
}

public float getValor() {
    return valor;
}

public void setValor(float valor) {
    this.valor = valor;
}

}[/code]

para a classe OrdemServico tenho os seguintes atributos e os metodos foram gerados automaticamente pelo netbeans

[code] package beans;

import beans.Conserto;
import java.util.Date;

/**
*

  • @author carlos alberto
    */
    public class OrdemServico {

    /** Creates a new instance of OrdemServico */
    private int codigo_os;
    private long cpfcliente;
    private float totalservico;
    private Date previsaoentrega;
    private Conserto conserto;
    private String pago;

    public OrdemServico() {
    }

    public int getCodigo_os() {
    return codigo_os;
    }

    public void setCodigo_os(int codigo_os) {
    this.codigo_os = codigo_os;
    }

    public long getCpfcliente() {
    return cpfcliente;
    }

    public void setCpfcliente(long cpfcliente) {
    this.cpfcliente = cpfcliente;
    }

    public float getTotalservico() {
    return totalservico;
    }

    public void setTotalservico(float totalservico) {
    this.totalservico = totalservico;
    }

    public Date getPrevisaoentrega() {
    return previsaoentrega;
    }

    public void setPrevisaoentrega(Date previsaoentrega) {
    this.previsaoentrega = previsaoentrega;
    }

    public Conserto getConserto() {
    return conserto;
    }

    public void setConserto(Conserto conserto) {
    this.conserto = conserto;
    }

    public String getPago() {
    return pago;
    }

    public void setPago(String pago) {
    this.pago = pago;
    }[/code]

Vamos as mapeamentos
Conserto.hbm.xml

[code]



codigo_conserto








</class>    

[/code]

Ordem Servico

[code]

    <id name="codigo_os">
        <generator class = "sequence">
            <param name = "sequence">codigo_ordemservico</param>
        </generator>    
    </id>    
    <property name="cpfcliente"/>
    <property name="totalservico"/>
    <property name="previsaoentrega" type="java.util.Date"/>
    <property name="pago"/>
    <set name="consertos" inverse="true" lazy="true">
    <key column="codigo_ordemservico"/>
        <one-to-many class="Conserto"/>
    </set>        
</class>

[/code]

Estou usando o postgres8

O erro que dá eh este:

org.hibernate.PropertyNotFoundException: Could not find a getter for servicos in class beans.Conserto
org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:282)
org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:275)
org.hibernate.mapping.Property.getGetter(Property.java:251)
org.hibernate.tuple.PojoEntityTuplizer.buildPropertyGetter(PojoEntityTuplizer.java:255)
org.hibernate.tuple.AbstractEntityTuplizer.(AbstractEntityTuplizer.java:121)
org.hibernate.tuple.PojoEntityTuplizer.(PojoEntityTuplizer.java:55)
org.hibernate.tuple.TuplizerLookup.create(TuplizerLookup.java:64)
org.hibernate.tuple.EntityMetamodel.(EntityMetamodel.java:257)
org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:412)
org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:108)
org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:215)
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
db.DBConexao.(DBConexao.java:37)
handlers.ListaCliente.RequestHandler(ListaCliente.java:32)
servlet.ControllerServlet.doGet(ControllerServlet.java:75)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362

Cara você tem que disponibilizar os métodos set e get para suas entidade persistente.

[]'s clodoaldoJR

Cara você tem que disponibilizar os métodos set e get para suas entidade persistente. 

Os métodos já estão disponibilizados. E agora poderia me dizer onde está o erro?

Valew

Vc não tem nehum atributo OrdemServico chamado “servicos” na sua entidade Conserto. Por isso acontece esse erro :wink:

outra coisa…

Vc precisa setar em OrdemServico um atributo Set para as suas entidades Conserto. Do jeito q está, OrdemServico tem um único Conserto.