151
Vývoj / Re:Rada při návrhu db tabulek
« kdy: 29. 06. 2021, 16:45:54 »Jak to tady čtu, tak se mi zdá, že pojem ORM je přetížený. Může mít podle různých diskutujících dva dosti odlišné významy:
1) "Full ORM" - něco, co umožní existující "programming language" objekty uložit transparentně do databáze. V tomto případě je bussines logika v aplikaci, DB je storage.
2) "query builder" - něco, co umí "databázové objekty" nějakým způsobem "hezky" zpřístupnit v aplikaci. Bussines logika je tady v DB
Mě to dělení přijde umělé. U 1 mohu mít taky dost logiky v DB a používat custom SQL dotazy, případ 2 zase může přebírat kompetence z full-orm. Je tam mezi oběma přístupy plynulý přechod (doby kdy byl jen iBatis a Hibernate jsou pryč).
Spíš mi přijde podstatné zda a jak orm řeší persistenci objektového grafu, tj. uložení všech vnořených entit a dále jak řeší persistentní session (attached vs. detached instance), jak flexibilně umí mapovat objekty, zda má nějaké event api, zda a jak lze entity serializovat mimo databázi, zda mohu namapovat entity, ke kterým nemám zdrojový kód apod. To rozhoduje mnohem víc a použitelnosti, rychlosti vývoje a v důsledcích tedy i o výkonu aplikace.
