Doctrine orm 条令2关联映射开销?

Doctrine orm 条令2关联映射开销?,doctrine-orm,Doctrine Orm,学说2中的关联映射 <?php class User { //... /** * @ManyToMany(targetEntity="Group") * @JoinTable(name="User_Group", * joinColumns={@JoinColumn(name="User_id", referencedColumnName="id")}, * inverseJoinColumns={@JoinCol

学说2中的关联映射

<?php
class User
{
    //...
    /**
     * @ManyToMany(targetEntity="Group")
     * @JoinTable(name="User_Group",
     *      joinColumns={@JoinColumn(name="User_id", referencedColumnName="id")},
     *      inverseJoinColumns={@JoinColumn(name="Group_id", referencedColumnName="id")}
     *      )
     */
    private $groups;
    //...
}

您能否提供有关您的场景的更多详细信息?但简而言之,每次使用联接执行DQL时,D2都会再次查询所有组,因为它无法知道DQL将返回什么信息。若您按id查询,它将首先检查身份映射,若有命中,将从中返回记录。当您询问$user->getGroups()时,它将加载整个集合,您可能需要检查,它包含一些减少负载的方法。@WizardZ我的场景已经足够描述性了,我在研究后发现这个问题的解决方案是只使用DQL部分结果。