Para aqueles que entendem de Hibernate

Olá Pessoal

estou com um problema…

Eu tenho a seguinte classe java:

public class Fornecedor {
        
        private int cod_fornecedor;
        private String nome;
        private String cnpjcpf;
        private String inscricao_estadual;
        private String telefone;
        private String fax;
        private Endereco endereco;
        private String email;
        private Insumo insumo;
        private ArrayList<Contato> contatos ;
        private boolean pessoa_fisica;
        private String observacao;
        
        /** Creates a new instance of Fornecedor */
        public Fornecedor() {
        }

        public String getNome() {
                return nome;
        }

        public void setNome(String nome) {
                this.nome = nome;
        }

        public String getCnpjcpf() {
                return cnpjcpf;
        }

        public void setCnpjcpf(String cnpjcpf) {
                this.cnpjcpf = cnpjcpf;
        }

        public String getTelefone() {
                return telefone;
        }

        public void setTelefone(String telefone) {
                this.telefone = telefone;
        }

        public String getFax() {
                return fax;
        }

        public void setFax(String fax) {
                this.fax = fax;
        }

        public Endereco getEndereco() {
                return endereco;
        }

        public void setEndereco(Endereco endereco) {
                this.endereco = endereco;
        }

        public String getEmail() {
                return email;
        }

        public void setEmail(String email) {
                this.email = email;
        }

        public Insumo getInsumo() {
                return insumo;
        }

        public void setInsumo(Insumo insumo) {
                this.insumo = insumo;
        }

    
        public int getCod_fornecedor() {
                return cod_fornecedor;
        }

        private void setCod_fornecedor(int cod_fornecedor) {
                this.cod_fornecedor = cod_fornecedor;
        }

        public String getInscricao_estadual() {
                return inscricao_estadual;
        }

        public void setInscricao_estadual(String inscricao_estadual) {
                this.inscricao_estadual = inscricao_estadual;
        }

        public boolean isPessoa_fisica() {
                return pessoa_fisica;
        }

        public void setPessoa_fisica(boolean pessoa_fisica) {
                this.pessoa_fisica = pessoa_fisica;
        }

        public String getObservacao() {
                return observacao;
        }

        public void setObservacao(String observacao) {
                this.observacao = observacao;
        }

        public ArrayList<Contato> getContatos() {
                return contatos;
        }

        public void setContatos(ArrayList<Contato> contatos) {
                this.contatos = contatos;
        }
        
        
             
}

Mapeada:

<hibernate-mapping>    
        <class name="br.com.embalagenspontual.classes.Fornecedor" table="fornecedor">    
                <id name="cod_fornecedor" column="cod_fornecedor" type="java.lang.Integer">   
                        <generator class="identity"/>    
                </id>    
                <property name="nome" column="nome" type="java.lang.String" />                    
                <property name="cnpjcpf" column="cnpjcpf" type="java.lang.String" />     
                <property name="inscricao_estadual" column="inscricao_estadual" type="java.lang.String" />    
                <property name="pessoa_fisica" column="pessoa_fisica" />                    
                   
                <property name="telefone" column="telefone" type="java.lang.String" />    
                <property name="fax" column="fax" type="java.lang.String" />   
                <property name="email" column="email" type="java.lang.String" />    
                <property name="observacao" column="observacao" type="java.lang.String" />    
                <list name="contatos" cascade="all" lazy="false">   
                        <key column="cod_fornecedor"/>      
                        <index column="index"/>   
                        <one-to-many class="br.com.embalagenspontual.classes.Contato" />   
                </list>           
                   
                <many-to-one name="endereco" column="cod_endereco" cascade="all" unique="true" lazy="false"/>    
                <many-to-one name="insumo" column="cod_insumo" unique="true" lazy="false"/>   
        </class>   
</hibernate-mapping>

Quando eu mando salvar no banco dá o seguinte erro:

org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of br.com.embalagenspontual.classes.Fornecedor.contatos   
        at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:104)   
        at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337)   
        at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200)   
        at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3564)   
        at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:277)   
org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of br.com.embalagenspontual.classes.Fornecedor.contatos
        at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:104)
        at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337)
        at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200)
        at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3564)
        at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:277)

Não sei o que pode ser…
Alguém teria uma solução?

[]s
Gunnar

Troque ArrayList por List. Nao garanto que va resolver, mas ja eh um comeco.

E, antes de mais nada:

http://java.sun.com/docs/codeconv/