Sto iniziando un nuovo progetto che penso durerà per alcuni anni. Sono nel punto di decidere il framework ORM da usare (o se usarne uno affatto). Qualcuno con esperienza può dirmi se i framework orm sono usati nelle applicazioni di realworld. Il problema che ho in mente è questo: lo strumento orm genererà per me tabelle e colonne ecc. Mentre creo e modifico le mie entità. Tuttavia, dopo che il progetto è attivo e in produzione, alcune modifiche al database non saranno possibili. Questo può ostacolare il progresso del progetto. Se avessi usato un framework come ibatis, ad esempio, so che avrei solo bisogno di adattare le istruzioni SQL in base alle modifiche del database. Qualcuno può dirmi se gli strumenti ORM sono sopravvissuti all'ambiente live. Nel mio ufficio, utilizziamo l'ERP basato su java che è stato eseguito molto tempo fa e non è mai stato utilizzato alcun framework ORM.ORM nel mondo reale
Saluti. Josh
Chiarire perché un quadro ORM non deve essere "ossessionato dall'oggetto" e come Il framework ORM consente di "rifattorizzare lo schema del database". – ireddick
Un buon ORM dovrebbe soddisfare sia gli amministratori di database che gli sviluppatori di applicazioni. Voglio avere sia un'ottima progettazione del database che un grande modello di oggetti. Mapper come Hibernate costringono il design del database ad essere in un certo modo, che trovo molto limitante. –
Questa risposta accettata esprime un punto di vista molto personale e non illustra la percezione generale del valore aggiunto di ORM e quando usarli o meno. In primo luogo, si suppone che gli ORM generino l'SQL, il supporto delle stored procedure è solo una funzione. Tuttavia, l'utilizzo della stored procedure non è la filosofia di ORM (non utilizzare un ORM se si utilizzano procedure memorizzate). In secondo luogo, confrontare Hibernate e iBATIS è come confrontare mele e arance (nemmeno menzionare Spring JDBC), iBATIS non è un ORM, è un mappatore di dati. Ma è vero che gli ORM non si adattano bene agli schemi esoterici. –