[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


 Description   

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

Is that thinkable?



 Comments   
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 Sat Jul 26 13:21:23 UTC 2014 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.