1

我有一个包含客户数据的表,该表与订单表的外键相连。显然,一个客户可以有多个订单,但每个订单都只有一个客户。

当我检索客户数据时,Hibernate 会自动获取客户端的连接订单。但在很多情况下,我只需要客户数据。出于性能原因,我想避免这种情况,仅在需要时才获得订单。

有可能这样做吗?这真的会影响性能吗?

谢谢!噪音

4

1 回答 1

3

如果您在加载客户时映射了它们之间的关联,customer那么order只有Fetchtype.LAZY在您访问它们时才会加载订单。这样加载会更快。

相反会在加载对象时FetchType.EAGER加载集合,影响性能。orderscustomer

你可以告诉Hibernate你喜欢什么样的关联获取,一个使用注释的例子是:

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
于 2013-02-08T13:50:06.540 回答