Details
Description
I would suggest to design the following methods on AbstractQuery/Query to be fluent. This would make lots of sense, since some methods might be called several times and configuration would be cumbersome.
A list of the affected methods:
AbstractQuery
public function setHint($name, $value) public function setResultCacheId($id) public function setHydrationMode($hydrationMode) public function setExpireResultCache($expire = true) public function setResultCacheLifetime($timeToLive) public function useResultCache($bool, $timeToLive = null, $resultCacheId = null) public function setResultCacheDriver($resultCacheDriver = null) public function setResultSetMapping($rsm) public function setParameters(array $params) public function setParameter($key, $value)
Query
public function setExpireQueryCache($expire = true) public function setQueryCacheLifetime($timeToLive) public function setQueryCacheDriver($queryCache) public function setDql($dqlQuery)
NativeQuery
public function setSql($sql)
Two more suggestions:
setExpireResultCache => expireResultCache
setExpireQueryCache => expireQueryCache