Gilberto - It looks like you may have some sort of an issue with your One-to-one mapping for Customer -> Person.
This is just off the top of my head, but can you try changing:
<entity class="Customer">
....
<one-to-one name="person" target-entity="Person" maps-id="true">
<join-column name="person_id" referenced-column-name="id" />
</one-to-one>
to
<one-to-one name="person" target-entity="Person" maps-id="id" />
Thanks,
Rick
