I strongly suggest you don't use <join/>
for this. Although it would accomplish what you requested, it creates other problems.
Instead, Order should have a relationship with Customer. You can then project the name if you want, although it's easier to just use order.Customer.Name
.
So, it boils down to this:
1) Add Customer
property to Order
public virtual Customer Customer { get; set; }
2) Map the property (in the example, CustomerId is the name of the FK column)
<many-to-one name="Customer" column="CustomerId"/>
3) If you specifically want to have a CustomerName
property, project it from Customer:
public virtual string CustomerName { get { return Customer.Name; } }