我有一个Car与实体有多对一关系的实体Owner.如果我选择所有的汽车,确实学说在一个查询Car表,然后一个对查询Owner表对每一辆汽车.因此,获取N个汽车将成为N + 1个查询,而不是表Car和Owner表之间的单个JOIN查询.
我的实体如下:
/** @Entity */
class Car {
/** @Id @Column(type="smallint") */
private $id;
/** @ManyToOne(targetEntity="Owner", fetch="EAGER")
@JoinColumn(name="owner", referencedColumnName="id") */
private $owner;
public function getId() { return $this->id; }
public function getOwner() { return $this->owner; }
}
/** @Entity */
class Owner {
/** @Id @Column(type="smallint") */
private $id;
/** @Column(type="string") */
private $name;
public function getName() { return $this->name; }
}
Run Code Online (Sandbox Code Playgroud)
如果我想与他们的车主列出汽车,我会这样做:
$repo …Run Code Online (Sandbox Code Playgroud)