non-integer/non-id primary key support for has one