我有一个问题,当一个映射的实体对于几个请求的实体是公共的时,Doctrine处理 OneToOne 关联的方式。
假设以下Route
实体。路由实体与City
实体有两个 OneToOne 关联:
class Route{
//... more code
/**
* @var City $origin
* @ORM\OneToOne(targetEntity="City")
* @ORM\JoinColumn(name="origin", referencedColumnName="postalCode")
*/
private $origin;
/**
* @var City $destination
* @ORM\OneToOne(targetEntity="City")
* @ORM\JoinColumn(name="destination", referencedColumnName="postalCode")
*/
private $destination;
//... even more code
}
如果我从数据库请求 n Route
个实体,则可以在多个City
中引用一个Routes
。教义是如何处理的:
City
实体每次出现时都会从数据库中加载到内存中一次,并在需要时重新使用。City
实体。如果我要显示很多(6000条以上)路线,那么优化City
实体的负载的最佳方法是什么?