In ORMLite, how can I define a constraint (foreign) to another table, which is not linked by it’s integer id, but by any other field, i.e. a varchar/string field, which isn’t the PK.
For example, referring to the ORMLite sample code, where an ‘order’ entity is linked to an ‘account’ entity. In the example, the order is linked to the account by it’s id column (I guess by default), which is the PK.
Instead of setting up the constraint from ‘order.account_id’ to the ‘account.id’ column, how can I set it up from something like ‘order.account_name’ to ‘account.name’ column instead?
I was looking for something like a foreignColumnName annotation, but unfortunately it doesn’t exist, for a one-to-one relationship.
Here’s the java code of the ORMLite examples:
I couldn’t find any info in the documentation.
(The reason why I need it is that I have an existing db, not created by ORMLite automatically, which has obviously not been setup properly nor halfway normalized, but I need to work with that existing one, including it’s existing column names and constraints.)
Edit:
This feature was added to ORMLite in version 4.36. The concept of foreign objects was a new construct at the time. See the javadocs on the field here. To quote: