I confirmed this for myself, using Hibernate 3.1.2:
Code:
<hibernate-mapping package="foo">
<class name="Foo" table="Foo">
<id name="id" type="integer" >
<generator class="native" />
</id>
<property name="name" type="string" />
<property name="descId" type="integer" />
<join table="Bar" optional="true" >
<key property-ref="descId" column="descId" />
<property name="description" type="string" />
</join>
</class>
</hibernate-mapping>
The HQL query "from Foo" generates SQL:
Code:
select foo0_.id as id102_, foo0_.name as name102_, foo0_.descId as descId102_, foo0_1_.description as descript2_103_
from Foo foo0_ left outer join Bar foo0_1_ on foo0_.id=foo0_1_.descId
...ignoring the property-ref in the join condition. Gotta be a bug.