Ok, with some reading, I think I got it.
OLD
Quote:
<hibernate-mapping>
<class name="eg.Role" table="role">
<composite-id>
<key-many-to-one column="id" class="eg.User" name="id"/>
<key-property column="year" length="4" name="year" type="string"/>
<key-property column="role" length="4" name="role" type="integer"/>
</composite-id>
<property column="active" length="1" name="active" not-null="true" type="byte"/>
.
.
.
</class>
</hibernate-mapping>
NEWQuote:
<hibernate-mapping>
<class name="eg.Role" table="role">
<composite-id>
<key-many-to-one class="eg.User" name="id">
<column name="id"/>
<column name="year"/>
</key-many-to-one>
<key-property column="role" length="4" name="role" type="integer"/>
</composite-id>
<property column="active" length="1" name="active" not-null="true" type="byte"/>
.
.
.
</class>
</hibernate-mapping>