ComponentTuplizer generates a LOT of proxy classes when using Bytebuddy as bytecode provider

Description

Due to the way Component#getType() is implemented, we generate a LOT of basic proxy classes for each entity.

On a simple test case, I got:

The fact that we initialize the ComponentMetamodel for each getType() call generates a new basic proxy class for each call.

Moreover, the proxy is created for the entity class deep into the component (e.g. a property) stack trace and not shared for all the components of the entities.

Stack trace:

Environment

None

Assignee

Guillaume Smet

Reporter

Guillaume Smet

Fix versions

Labels

None

backPortable

None

Suitable for new contributors

None

Requires Release Note

None

Pull Request

None

backportDecision

None

Components

Priority

Major
Configure