Hibernate : Could not determine type for

Bom, peguei pra tentar aprender um pouco sobre Hibernate esse fds
Tava dando uns erros, eu dava umas contornadas e ok
mas agora apareceu um, que eu nao faço ideia de como arrumar

[color=red]org.hibernate.MappingException: Could not determine type for: Model.Funcionario, at table: pedidos, for columns: [org.hibernate.mapping.Column(fun_codigo)][/color]

o codigo que pode ser util para entender o problema, creio que seja esse:

Funcionario.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

    <joined-subclass name="Model.Funcionario" table="funcionarios" extends="Model.Pessoas">
        <key column="pes_codigo"/>
        <property name="id" column="pes_codigo" insert="false" update="false"/>
        <property name="salario"   column="fun_salario"   />

        <set name="Pedido" table="pedidos" inverse="true">
            <key column="fun_codigo"/>
            <one-to-many class="Model.Pedido"/>
        </set>
    </joined-subclass>

</hibernate-mapping>

Pedido.hbm.xml

[code]<?xml version="1.0" encoding="UTF-8"?>

    <property name="valor" column="ped_valor" />
    <property name="status" column="ped_status" />
    <property name="funcionario" column="fun_codigo"/>
    <property name="cliente" column="cli_codigo" />
    <property name="estagiario" column="est_codigo" />

    <many-to-one
        name="funcionarios"
        class="Model.Funcionario"
        column="fun_codigo" />

    <many-to-one
        name="clientes"
        class="Model.Cliente"
        column="cli_codigo" />

    <many-to-one
        name="estagiarios"
        class="Model.Estagiario"
        column="est_codigo" />

</class>

[/code]

se precisar de mais algum digam
obrigado desde ja

o diagrama esta aqui

http://ensinalegal.net/bd/diagrama.pdf

eu apenas tirei a relação de funcionarios com a propia tabela funcionarios (n funcionarios possuem 1 supervisor) e removi o campo de supervisor