Jira issue originally created by user @beberlei:
It should be allowed to overwrite the default persisters for collections and entities. This should go along the lines of Hibernate which allows to set the custom implementations like:
<entity persister="persisterClass" />
<OneToMany persister="persisterClass" />
Comment created by romanb:
Rescheduling for beta3.
Pushing back to beta4.
Moved to 2.1 due to lack of time for any larger new features for 2.0.
Comment created by @beberlei:
implemented this in a feature branch for now, it really doesnt touch any other runtime code so maybe we can still merge this before RC1
Comment created by gediminasm:
Is this forgotten? you should merge it since it does not affect any other parts of ORM, this is a great feature
This has not been forgotten, but the Persister is due for a heavy refactoring for 2.2 probably, when we will make it use the SQL Query object that we are working on.
So I cannot merge this, because the API will probably break big time.
Comment created by jonaswouters:
Does that mean we will not see this feature before 2.2?
Yes, that is correct. I dont want to add it as experimental/undocumented feature because people will take it for granted and make us responsible for possible bc breaks.
I will update the target version accordingly.
Sorry for disappointing you, but this feature is fundamentally important at the core of the library. That means we have to get it right and not rush into it.
Just as I thought that first you will want to make a query builder object for all persisters. since now they use plain sql. Thanks for all your work on this
Comment created by adambro:
I might be mistaken, but AFAICS mentioned Persister heavy refactoring did not made through to 2.2 version. Is there any plan to have it in 2.3 or at any later stage?
Comment created by @guilhermeblanco:
@Adam I refactored all Persisters optimizing their code, but I could not complete the move from SQL string generation to Doctrine\DBAL\Query.
We missed it, yes. I may reschedule for 2.3
Comment created by burnred:
Why is it still missing in 2.3? I would require this for an extension that uses its own overridden entity persister and using a custom persister is the solution that you guys recomend for not overriding the entity manager.
Comment created by sstok:
Any change seeing this soon? I really need this for a security feature.
What is making this so hard? just adding an setEntityPersister($entityName, $object) should do the trick.
I don't need any fancy stuff, just a way to limit the fields in the SELECT list.
Edit: OK, I'm shot I CAN NOT overwrite the entity manager as the UnitOfWork is private!
Got any other idea?
Comment created by st_koegel:
Any chance you could add this quickly? I need this feature urgently to complete an extension using a custom persister. Thanks in advance.
Comment created by lfweijl:
What's the status on this issue?