How to map many to one relationship to itself when using composite id?

We have an entity which has a many to one relationship with itself, currently we have a single id but now we have to move to a composite id. I just wanted to make sure that I am modelling it correctly. Can someone help to verify the same?
We have a legacy code base and after making composite id changes, seeing a lot of errors, not able to pin point the actual reason for the same. Also, we can’t move to annotations so stuck with hbm xml mapping files.
Also, is it possible to have only RELATABLE_TRANSACTION_FK and not COMPANY_FK in the relation?

Current Version:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="domain" default-cascade="merge" auto-import="false">
	<class name="FinancialTransaction" table="FINANCIAL_TRANSACTION" dynamic-update="true">
		<id name="Id" column="FINANCIAL_TRANSACTION_SEQ" type="Integer" access="property">
			<generator class="assigned"/>
		</id>

        <many-to-one name="Company" class="Company" column="COMPANY_FK"  />

        <many-to-one name="RelatableTransaction" class="FinancialTransaction" column="RELATABLE_TRANSACTION_FK"  />

	</class>
</hibernate-mapping>

Composite Id Version:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="domain" default-cascade="merge" auto-import="false">
	<class name="FinancialTransaction" table="FINANCIAL_TRANSACTION" dynamic-update="true">
		<composite-id>
            <key-property name="Id" column="FINANCIAL_TRANSACTION_SEQ" type="Integer" access="property" />
            <key-many-to-one name="Company" column="COMPANY_FK" class="Company" access="property" lazy="false" />
        </composite-id>

        <many-to-one name="RelatableTransaction" class="FinancialTransaction" insert="false" update="false">
            <column name="RELATABLE_TRANSACTION_FK"/>
            <column name="COMPANY_FK"/>
        </many-to-one>

	</class>
</hibernate-mapping>

<many-to-one> can have multiple <column> child elements. With that, you can specify multiple join columns referring to a composite id.