Let me share my views (along with my own doubts) with an example:
In case of wood, every single instance of it has a particular color, density and machineability. This is not like products which usually have predefined properties (think about
soap, laptop, cars etc). In this example, characterstics classes are telling which attributes are important but who will store their actual values?
a) If Wood@Entity has to store these details, then is it modeled correctly?
b) If WoodCharacteristics stores it then why is not an @Entity class?
Please share your views because I am struggling with a similar problem.