在没有实体的@cache的情况下,Doctrine二级缓存致命错误

时间:2014-02-05 12:14:44

标签: caching doctrine-orm doctrine second-level-cache

我有一种奇怪的学说行为。 类:

/**
 * @Entity
 * @Cache
 */
class UserInfo {
    /**
     * @Id
     * @Column
     */
    protected $id;
    /**
     * @Cache
     * @OneToOne
     */
    protected $extra;
    public function getExtra(){
        return $this->extra;
    }
}
/*!! Without @Cache ANNOTATION on ExtraUserInfo !!*/
/**
 * @Entity
 */
class ExtraUserInfo {
    /**
     * @Id
     * @OnToOne
     */
    protected $info;
    /**
     * @Column
     */
    protected $extra;
}

当我这样做时,学说会导致致命的错误:

$userinf->getExtra();

致命错误:在第137行的/lib/Doctrine/ORM/Cache/DefaultEntityHydrator.php中调用未定义的方法Doctrine \ ORM \ Persisters \ BasicEntityPersister :: getCacheRegion() 发生这种情况是因为$assocPersister是BasicEntityPersister的实例。

这是一个Doctrine错误,或者我必须在所有实体上指定@Cache

1 个答案:

答案 0 :(得分:1)