I was able to solve my problem through a combination of UserType for single column joins and @JoinColumnsOrFormulas for multi-column joins.