[DDC-1216] A way to mark an entity to always use result cache. Like @UseResultCache class annotation. Created: 19/Jun/11 Updated: 06/Apr/12 |
|
| Status: | Open |
| Project: | Doctrine 2 - ORM |
| Component/s: | ORM |
| Affects Version/s: | 2.x |
| Fix Version/s: | 2.x |
| Security Level: | All |
| Type: | New Feature | Priority: | Major |
| Reporter: | Reio Piller | Assignee: | Benjamin Eberlei |
| Resolution: | Unresolved | 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... |