I have a db table with column of datatype char(20). I’m not allowed to change it to a varchar.
I’m writing a JPA entity mapped to this table. I would like the string field representing this column in my entity class to always contain the trimmed value, not the 20-character value padded with spaces that exists in the db.
I can’t see any easy way to do this. (an annotation would rock!). At the moment I’m just returning a trimmed value from my getter(), but this feels like a kludge.
A google search is offering no help on this. Any ideas?
Or you can use lifecycle annotations:
If this occurs on multiple entities you can create a custom annotation and write a dedicated EntityListener.
Annotation
Listener
Now annotate all relevant String fields with
@Trimand register the Listener as default entity listener in your persistence.xml: