I see 2 things here that could be the cause:
1. You are using the foreign-key property and setting that to the property name. However, I believe this foreign-key property is only used when you are generating a schema based on hibernate mapping files. That way it knows what to name the constraint.
2. If you are creating a many-to-one relationship to a User, your mapping needs fixed:
Try this as your mapping and see how that works for you. Firstly you need to specify the class the relationship is pointing to. Next you must tell it the column of the foreign key, which looks to be player_black. Thirdly, I'd remove your mapping of the playerBlackId property. You probably won't need it if you are mapping the relationship.
Code:
<many-to-one
name="playerBlack"
class="<your fully-qualified User object class>"
cascade="none"
outer-join="auto"
update="false"
insert="false"
column="player_black"/>
[/code]