I have an ERD with a main table (A) which has one attribute(String) that is a FK to another table (B).
The issue that I have is that in B the only attribute is the PK; I just want to ensure that the user inputs only one of the allowed values in the main table attribute. I do not even want to update the B table from the application, as it will be a task so unusual that I’ll do it directly in the DB.
I could treat B just as another Entity and deal with them with “regular” JPA, but I am a little troubled that maybe there are more efficient ways to do it*. All I want from B table is to get the full list of values and to ensure that the attribute value is correct.
So the question is: there is a specific pattern in JPA to deal with those master tables?
Thanks In advance.
*: My concern is creating / retrieving Entity B objects when all that it is needed is an string, every time an Entity A object is created retrieved.
I would simply use a native query to get all the strings from the
Btable, or map B as an entity to retrieve all the B Strings using a JPQL query, but not have any association from A to B.The B string would be stored as basic String column in entity
A. And if you try creating or updating anAinstance with a string that is not in theBtable, then you’ll get an exception at flush or commit time because the foreign key constraint is broken.