Problema na conexão: java.lang.String cannot be cast to java.lang.Integer

Pessoal, não estou conseguindo realizar minha conexão com o banco de dados. Está dando um erro de conversão que eu não consigo achar onde está o problema.
O problema está no campo Telefone, ele está como varchar(15) no banco de dados

Modelo:

[code]public class Telefones implements java.io.Serializable {

@Id
@GeneratedValue
 private Integer idTelefones;
 private String telResidencial;
 private String telefoneCelular;
 private Set funcionarios = new HashSet(0);
 private Set alunos = new HashSet(0);
 private Set docentes = new HashSet(0);

public Telefones() {
}

public Telefones(String telResidencial, String telefoneCelular, Set funcionarios, Set alunos, Set docentes) {
   this.telResidencial = telResidencial;
   this.telefoneCelular = telefoneCelular;
   this.funcionarios = funcionarios;
   this.alunos = alunos;
   this.docentes = docentes;
}

public Integer getIdTelefones() {
    return this.idTelefones;
}

public void setIdTelefones(Integer idTelefones) {
    this.idTelefones = idTelefones;
}
public String getTelResidencial() {
    return this.telResidencial;
}

public void setTelResidencial(String telResidencial) {
    this.telResidencial = telResidencial;
}
public String getTelefoneCelular() {
    return this.telefoneCelular;
}

public void setTelefoneCelular(String telefoneCelular) {
    this.telefoneCelular = telefoneCelular;
}
public Set getFuncionarios() {
    return this.funcionarios;
}

public void setFuncionarios(Set funcionarios) {
    this.funcionarios = funcionarios;
}
public Set getAlunos() {
    return this.alunos;
}

public void setAlunos(Set alunos) {
    this.alunos = alunos;
}
public Set getDocentes() {
    return this.docentes;
}

public void setDocentes(Set docentes) {
    this.docentes = docentes;
}

}[/code]

botão salvar:

[code]private void btSalvarActionPerformed(java.awt.event.ActionEvent evt) {
if (textoNome.getText().isEmpty()
|| textoEndereco.getText().isEmpty()
//|| jFormattedMatricula.getText().isEmpty()
// || textoCidade.getText().isEmpty()
// || textoBairro.getText().isEmpty()
// || textoComplemento.getText().isEmpty()
// || textoGrauInstrucao.getText().isEmpty()
|| jTextField1.getText().isEmpty()
// || textoCidade.getText().isEmpty()
// || jFormattedCep.getText().isEmpty()
//|| jFormattedDataAdmissao.getText().isEmpty()
// || jFormattedNascimento.getText().isEmpty()
// || jFormattedCpf.getText().isEmpty()
|| TextoMateriaLeciona.getText().isEmpty()
//|| jFormattedRG.getText().isEmpty()
// || jFormattedCelular.getText().isEmpty()
|| textoEmail.getText().isEmpty()
|| jTextEstadoCivil.getText().isEmpty()
) {

        JOptionPane.showMessageDialog(this,"Por favor, informe o valor de todos os campos");
    }else{
        Enderecos e = new Enderecos();
        e.setEndereco(textoEndereco.getText());
       /* e.setBairro((textoBairro.getText()));
        e.setCidade(textoCidade.getText());
        e.setNumero(Integer.parseInt(jFormattedMunero.getText()));
        e.setCep(Integer.parseInt(jFormattedCep.getText()));
        e.setUf(cbUF.getSelectedItem().toString());
        e.setComplemento(textoComplemento.getText());
        */
        
        Telefones t = new Telefones();
        t.setTelResidencial(jTextField1.getText());
       // t.setTelefoneCelular(Integer.parseInt(jFormattedCelular.getText()));
        
        Docente d = new Docente();
        d.setEnderecos(e);
        d.setTelefones(t);
        d.setNome(textoNome.getText());
        //d.setEmail(textoEmail.getText());
       // d.setEstadoCivil(jTextEstadoCivil.getText());
       // d.setCpf(jFormattedCpf.getText());
       // d.setGrauDeInstrucao(textoGrauInstrucao.getText());
        d.setMateriaLeciona(TextoMateriaLeciona.getText());
        
        /*try {
            d.setNascimento(Util.strToData(jFormattedNascimento.getText(), null));
            d.setDtAdmissao(Util.strToData(jFormattedDataAdmissao.getText(), null));
            d.setDtDemissao(Util.strToData(jFormattedDataDemissao.getText(), null));
                            
            
        } catch (Exception ex) {
            Logger.getLogger(CadastroDocente.class.getName()).log(Level.SEVERE, null, ex);
        }*/
        //banco de dados
        
        Session s = HibernateUtil.getSessionFactory().getCurrentSession();
       s.beginTransaction();
        s.save(e);
        s.save(t);
        s.save(d);
        s.getTransaction().commit();
        
        JOptionPane.showMessageDialog(this,"Cadastrados com sucesso");
    }

} [/code]

Erro:

INFO: could not bind value 'fsfdfds' to parameter: 1; java.lang.String cannot be cast to java.lang.Integer Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer at org.hibernate.type.IntegerType.set(IntegerType.java:41) at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:136) at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:107) at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:1997) at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:1974) at org.hibernate.persister.entity.AbstractEntityPersister$3.bindValues(AbstractEntityPersister.java:2152) at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:32) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2158) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2638) at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:48) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250) at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:298) at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187) at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172) at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535) at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523) at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:301) at $Proxy0.save(Unknown Source) at CadastroDocente.btSalvarActionPerformed(CadastroDocente.java:684) at CadastroDocente.access$1500(CadastroDocente.java:23) at CadastroDocente$15.actionPerformed(CadastroDocente.java:504) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6289) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6054) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4652) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:603) at java.awt.EventQueue$1.run(EventQueue.java:601) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:617) at java.awt.EventQueue$2.run(EventQueue.java:615) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:614) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Aparentemente o problema não ta ai e o unico Integer que você tem na classe telefone é o idTelefone que é @GeneratedValue e @Id, em algum outro lugar você deve ta setando uma string pra dentro de um Integer revise seu código e ve se em algum momento você não seta o idTelefone, provavelmente tem algum campo trocado e você ta tentando setar o que você digitou no campo pra dentro dele que no caso foi isso ‘fsfdfds’.

Consegui consertar, apaguei e comecei tudo de novo, e coloquei o campo não estava convertendo para string, assim ficou mais fácil.
Obrigado.