With further investigation, I understood that this is due to type erasure so I found another way where I use abstract getter/setters on the mapped superclass and declare the fields on the derived entity class.
Sorry for bothering.