Erro ao listar registro de tabela com chave composta e FK no Hibernate

Pessoal, estou tendo o seguinte erro ao tentar listar os registros de uma tabela com chave composta e FK uitilizando o hibernate
Segue o erro

could not set a field value by reflection setter of br.com.technisoft.educacional.bean.GradeDisciplinaPK.idgrade
java.lang.IllegalArgumentException
	at sun.reflect.UnsafeObjectFieldAccessorImpl.set(Unknown Source)
	at java.lang.reflect.Field.set(Unknown Source)
	at org.hibernate.property.DirectPropertyAccessor$DirectSetter.set(DirectPropertyAccessor.java:79)
	at org.hibernate.tuple.component.AbstractComponentTuplizer.setPropertyValues(AbstractComponentTuplizer.java:81)
	at org.hibernate.tuple.component.PojoComponentTuplizer.setPropertyValues(PojoComponentTuplizer.java:92)
	at org.hibernate.type.ComponentType.setPropertyValues(ComponentType.java:358)
	at org.hibernate.type.ComponentType.resolve(ComponentType.java:586)
	at org.hibernate.type.ComponentType.nullSafeGet(ComponentType.java:275)
	at org.hibernate.loader.Loader.getKeyFromResultSet(Loader.java:1088)
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:553)
	at org.hibernate.loader.Loader.doQuery(Loader.java:689)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
	at org.hibernate.loader.Loader.doList(Loader.java:2144)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2028)
	at org.hibernate.loader.Loader.list(Loader.java:2023)
	at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:95)
	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
	at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
	at br.com.technisoft.educacional.dao.hibernate.BaseImplDAO.listAll(BaseImplDAO.java:101)
	at br.com.technisoft.educacional.action.GradeDisciplinaAction.show(GradeDisciplinaAction.java:51)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:360)
	at org.mentawai.filter.InjectionFilter.filter(InjectionFilter.java:114)
	at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)
	at org.mentawai.filter.VOFilter.filter(VOFilter.java:133)
	at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)
	at org.mentawai.filter.OVFilter.filter(OVFilter.java:97)
	at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)
	at org.mentawai.filter.ExceptionFilter.filter(ExceptionFilter.java:83)
	at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)
	at org.mentawai.filter.DIFilter.filter(DIFilter.java:206)
	at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)
	at org.mentawai.filter.HibernateFilter.filter(HibernateFilter.java:187)
	at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)
	at org.mentawai.filter.IoCFilter.filter(IoCFilter.java:83)
	at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)
	at org.mentawai.core.Controller.invokeAction(Controller.java:653)
	at org.mentawai.core.Controller.service(Controller.java:518)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
	at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)

A função que lista segue abaixo o problema esta acuando nesta linha

    public List<T> findByExample(final T example) {
        Transaction tx = null;
        try {
            tx = session.beginTransaction();
            final Criteria criteria = session.createCriteria(this.objClass);
            criteria.add(Example.create(example).enableLike(MatchMode.ANYWHERE).ignoreCase());
            final List<T> result = criteria.list(); // Aqui é aonde acontece o erro
            tx.commit();
            return result;
        } catch (final HibernateException e) {
            if (tx != null && tx.isActive())
                tx.rollback();
            logger.error(e.getMessage(),e.getCause());
        }  
        return null;
        
    }

e as minhas classes são as seguintes

public class GradeDisciplinaPK implements Serializable {
	
	private static final long serialVersionUID = 1L;

	@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE}, targetEntity=GradeCurricular.class )
	@JoinColumn(name="idgrade")
	private Integer idgrade;

	@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE}, targetEntity=Disciplina.class )
	@JoinColumn(name="iddisciplina")
	private Integer iddisciplina;

        ....
@Entity
public class GradeDisciplina implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
	@Id
	private GradeDisciplinaPK id;
	
	@Column(nullable = false, length = 2) 
	private Integer fase;

        ....

Alguém sabe me dizer o que estou fazendo errado?