例如,我有一个表"goods",它有一个"categoryId“列,这是另一个具有id和名称的"category”表。
当我创建goods实体时,我手头有类别,我需要首先查询类别实体,然后调用goods实体中的"setCategory“函数,最后将其保存到数据库中。
这看起来对我不好,每次我创建一个goods实体,我需要首先通过它的id查询类别实体,我想知道有什么简单的,高性能的方法来做到这一点吗?
发布于 2012-12-17 13:45:33
假设类别是主数据,您可能希望将类别缓存到内存中。从缓存中检索Category对象将是高性能的。Hibernate有很好的缓存支持,例如Second Level Cache,Query Cache等。我建议你利用同样的缓存支持。
ehcache是用于缓存的另一个选项。
发布于 2012-12-18 19:34:20
类别实体将是cached,因此除非每个“商品”实体引用不同的类别,否则您可能会有可接受的性能。
如果您真的很担心这个问题,可以使用EntityManager.getReference来检索category实体的轻量级版本。
发布于 2016-05-07 06:07:54
不要做任何事情,除非你有性能问题!!通过id查询类别并添加到商品中是很好的!不要试图找出不存在的问题
https://stackoverflow.com/questions/13908883
复制相似问题