Mapeo de tablas:
 
Cliente.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>
	<class name="local.model.Cliente" table="clientes">
		<id column="codigo" name="codigo">
			<generator class="native"/>
		</id>
		<property column="nombre" name="nombre" />
		<property column="apellido" name="apellido" />
		<property column="direccion" name="direccion"/>	
	</class>
</hibernate-mapping>  
Pedido.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>
	<class name="local.model.Pedido" table="pedidos">
		<id column="codigo" name="codigo">
			<generator class="native"/>
		</id>
 		<many-to-one name="cliente"  column="codigo_cliente"  class="local.model.Cliente"  not-null="true"/> 
		<property column="estado" name="estado" />
		  <set name="listadodeproductos" inverse="true" lazy="true" cascade="all">
               <key column="codigo_pedido"/>
              <one-to-many class="local.model.ProductoForm"/>
        </set>
	</class>
</hibernate-mapping>  
No pongo el mapeo de ProductoForm por que creo que no tengo problemas en dicho mapeo. 
Clases: 
Cliente: 
public class Cliente {
	private long codigo;
	private String nombre;
	private String apellido;
	private String direccion; 
	public long getCodigo() {
		return codigo;
	}
	public void setCodigo(long codigo) {
		this.codigo = codigo;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getApellido() {
		return apellido;
	}
	public void setApellido(String apellido) {
		this.apellido = apellido;
	}
	public String getDireccion() {
		return direccion;
	}
	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}   
Pedido: 
public class Pedido {
	private long codigo;
	private Cliente cliente;
	private String estado;
	private Set <ProductoForm> listadodeproductos; 
	public void setListadodeproductos(Set<ProductoForm> list) {
		this.listadodeproductos = list;
	}
	public Set<ProductoForm> getListadodeproductos() {
		return listadodeproductos;
	} 
	public void setEstado(String estado) {
		this.estado = estado;
	}
	public String getEstado() {
		return estado;
	} 
	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}
	public Cliente getCliente() {
		return cliente;
	}
	public void setCodigo(long codigo) {
		this.codigo = codigo;
	}
	public long getCodigo() {
		return codigo;
	}   
Paso a explicarles lo que deseo, cada pedido tiene su propio ID autoincremental en la bd, y a su vez posee la FK del codigo del cliente, por lo cual la tabla de  Pedido es :  
  codigo  - Bigint - Primary Key - Not Null
  codigo_cliente - BigInt - Foreign key (Cliente.codigo) - Not null
  Estado - Varchar(50)  
y la Tabla Cliente: 
Codigo - Bigint - PrimaryKey - NotNull
Nombre - Varchar (100)
Apellido  -Varchar (100)
Direccion - Varchar (100)  
Si alguien tiene idea o ve donde esta el error quisiera si me podria dar una mano 

 desde ya, muchas gracias!!!! 
 
 
Saludos Gente!!