我有定义一些实体结构的代码,例如:
case class EntityDefinition(id: UUID,
name: String,
propertyDefinitions: Map[String, PropertyDefinition] = Map.empty[String, PropertyDefinition])
我有以下实体代码:
case class Entity(entityDefinition: EntityDefinition,
id: UUID, key: String,
properties: Map[String, Property[Any]])
每个实体会占用额外的内存来存储它的 entityDefinition 实例吗?我打算将 EntityDefinition 的数量保持在非常低的水平,但每个都将占据很大的大小。
所以问题是是否为实体保留这个结构,或者实现某种可以按需从缓存中获取实体定义的参考?