I have below scenario while updating Person entity..
My initial entity:
- firstName:x
- preferredFirstName:y
- name:y (this values is calculated in the database. the logic is if
preferredFirstName
has value thenname = preferredFirstName
, elsename = firstName
)
updated entity:
person.setFirstName("a");
person.setPreferredFirstName("b");
now when I do em.merge(person);
firstName and preferredFirstName are changed to a and b. But the name field in person entity still holds “y”
I tried:
- flush
- em.find(person, id)
- refresh
None of them seems to be working.
Does any one better way of getting the updated value of the virtual column?