0

例如,我有一个表“goods”,它有一个“categoryId”列,这是另一个带有 id 和名称的“category”表。

创建goods实体时,我有namecategoryId手头,我需要先查询类别实体,然后在goods实体中调用“setCategory”函数,最后将其保存到数据库中。

这对我来说看起来不太好,每次创建goods实体时,我都需要先通过其 id 查询类别实体,我想知道是否有任何简单、高性能的方法来做到这一点?

4

3 回答 3

0

假设类别是主数据,您可能希望将类别缓存在内存中。从缓存中检索类别对象将是高性能的。Hibernate具有良好的缓存支持,例如二级缓存查询缓存等。我建议您使用相同的缓存。

ehcache是另一种用于缓存的选项。

于 2012-12-17T05:45:32.687 回答
0

类别实体将被缓存,因此除非每个“商品”实体引用不同的类别,否则您可能会获得可接受的性能。

如果您真的很担心,可以使用EntityManager.getReference来检索类别实体的轻量级版本。

于 2012-12-18T11:34:20.370 回答
0

除非您有性能问题,否则不要做任何事情!通过 id 查询类别并添加到商品中就可以了!不要试图找到没有的问题

于 2016-05-06T22:07:53.937 回答