[DDC-1216] A way to mark an entity to always use result cache. Like @UseResultCache class annotation. Created: 19/Jun/11  Updated: 20/Dec/13  Resolved: 20/Dec/13

Status: Resolved
Project: Doctrine 2 - ORM
Component/s: ORM
Affects Version/s: 2.x
Fix Version/s: 2.5
Security Level: All

Type: New Feature Priority: Major
Reporter: Reio Piller Assignee: Benjamin Eberlei
Resolution: Fixed Votes: 2
Labels: None


So that even associations, find(), findBy() etc will be affected. Very useful for entities that are being used on every request.

Is that thinkable?

Comment by Menno Holtkamp [ 06/Apr/12 ]

During development, I tried to have the out-of-the-box ORM layer handle as much of the queries as possible, essentially I used the Repository functions a lot:

For example, having a specific Repository extend the Doctrine EntityRepository and do something like:

    public function findByName($name)
        $criteria = array('_name' => $name);
        return parent::findBy($criteria);

Now all functionality is developed, I am optimizing performance and I find myself having to refer my Repository to my DAO layer which uses DQL, so I can enable the DQL Result Cache...

    public function findByName($name)
       //Use the DAO so we can enable DQL ResultSet caching
        return $this->_getDao()->loadByName($name);

It would be nice to be able to configure 'DQL Result Cache = on' on Repository level as well...

Comment by Fabio B. Silva [ 20/Dec/13 ]

Fixed by : https://github.com/doctrine/doctrine2/commit/b081e5681d9dc75ea2ab4a609e1aff5f4b7f2b87

Generated at Tue Dec 01 15:17:00 EST 2015 using JIRA 6.4.10#64025-sha1:5b8b74079161cd76a20ab66dda52747ee6701bd6.