Sì, ma è possibile dedicare un po 'di tempo a esaminare quali funzionalità l'ORM fornisce in merito alle stored procedure.
La maggior parte consentirà di eseguire una procedura memorizzata che restituisce un oggetto/entità fortemente tipizzato. Gli ORM più avanzati permetteranno di collegare anche le stored procedure per l'esecuzione di azioni CRUD (quindi l'interrogazione generica, la cancellazione ecc. Passa attraverso una stored procedure piuttosto che una query dinamica).
generale ORM sono grandi per la generazione di query ad hoc e ottenere entità fortemente tipizzati, ma con un forte sostegno stored procedure ha il vantaggio di che consente di (a volte) di accedere più facilmente capacità nativa del RDMS che non può essere esposto come prima i cittadini di classe nell'ORM, specialmente se l'ORM supporta molti motori di database.
seguito dal vostro edit:
Spesso si vuole utilizzare l'ad-hoc del motore interrogazione fornito dal ORM tuttavia come ho accennato in precedenza - a volte si desidera eseguire una query utilizzando una capacità non esposto dal ORM .
I vantaggi delle entità fortemente tipizzate sono inestimabili in quanto significa che si dispone di un oggetto dominio di solito, piuttosto che di lettori di dati, tabelle di dati, ecc. È possibile racchiudere in modo pulito i comportamenti e la logica all'interno di quelle entità che sono stati recuperati.
L'elenco di ulteriori vantaggi è davvero molto lungo: ad esempio, con l'ORM LightSpeed (e molti altri) le entità supportano interfacce di binding standard, interfacce di segnalazione degli errori, convalida ecc. caricamento pigro ecc. a meno che non lo scriviate da soli.
+1 per "oggetti fortemente tipizzati" – Jagd
Che va bene SE la tua lingua è fortemente tipizzata. Quando usi qualcosa come PHP, hai bisogno del codice che controlla i parametri. Questo non significa che non puoi avere un ORM o un generatore di codice che non lo farà per te. Caso di esempio: ho sviluppato un generatore di codice che scrive wrapper di accesso per le funzioni di Postgresql e li espone come servizio Web SOAP. Poiché non volevo scrivere codice extra per verificare i parametri scalari, ho aggiunto una funzione che lo fa perché PHP non supporta l'hint di tipo scalare (https://github.com/sylnsr/pgfunc2php/blob/master/pgsupport.lib .php) –