Hibernate <composite-id>

Viva

Tenho um problema nas classes mapeadas com o tag no Hibernate, é um problema, pois a framework nao me permite utilizar java.io.Serializable.

Na documentação do Hibernate, indica que o composite-id nao a solução mais indicada para mapear tabelas com chaves primarias compostas.
Então como poderei “dar a volta” ao composite-id e colocar o meu Pojo sem implementar java.io.Serializable?

Obrigado

Mapeamento da Entidade do composite-id

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 21/Jun/2007 16:29:45 by Hibernate Tools 3.2.0.beta8 -->
<hibernate-mapping>
    <class name="pt.ipb.ld.client.utils.VO.LectRegenteUc" table="lect_regente_uc" catalog="ld_publication">
        <comment></comment>
        <composite-id name="id" class="pt.ipb.ld.client.utils.VO.LectRegenteUcId">
            <key-property name="idAnoLectivo" type="string">
                <column name="id_ano_lectivo" length="9" />
            </key-property>
            <key-property name="idDocente" type="long">
                <column name="id_docente" />
            </key-property>
            <key-property name="idDiscip" type="int">
                <column name="id_discip" />
            </key-property>
            <key-property name="idCurso" type="int">
                <column name="id_curso" />
            </key-property>
        </composite-id>
        <many-to-one name="lectDisciplina" class="pt.ipb.ld.client.utils.VO.LectDisciplina" update="false" insert="false" fetch="select">
            <column name="id_discip" not-null="true">
                <comment></comment>
            </column>
        </many-to-one>
        <many-to-one name="lectDocente" class="pt.ipb.ld.client.utils.VO.LectDocente" update="false" insert="false" fetch="select">
            <column name="id_docente" not-null="true">
                <comment></comment>
            </column>
        </many-to-one>
        <many-to-one name="lectCurso" class="pt.ipb.ld.client.utils.VO.LectCurso" update="false" insert="false" fetch="select">
            <column name="id_curso" not-null="true">
                <comment></comment>
            </column>
        </many-to-one>
        <many-to-one name="lectAnoLectivo" class="pt.ipb.ld.client.utils.VO.LectAnoLectivo" update="false" insert="false" fetch="select">
            <column name="id_ano_lectivo" length="9" not-null="true">
                <comment></comment>
            </column>
        </many-to-one>
    </class>
</hibernate-mapping>