Jak przekonać się do ORM?

0

Witajcie.

W aplikacjach które tworzę często korzystam z danych z bazy danych.
Wiem, że dobrą praktyką jest korzystanie z ORMa zamiast klepania zapytań ręcznie.

I tu pojawia się problem... mimo kilku prób nie mogę się przekonać do tych rozwiązań.
O ile jakiś prosty SELECT nie stanowi problemu to bardziej złożone pytania to masakra i dużo wygodniej mi napisać SELECTA...

Czy naprawdę z czasem wygodniej korzysta się z ORM niż z pisania zapytań?

Pozdrawiam

1

Mi osobiście ORM wystarcza do praktycznie każdego zapytania. Tam gdzie nie wystarcza lub zależy mi na tym by specjalnie pominąć mechanizmy ORM'a - wtedy odpalam ręcznie napisane zapytanie (ale i tak pomaga w tym ORM, żeby np zmapować wyniki do postaci jakichś obiektów).

Podaj przykład takiego zapytanie które stanowi problem w ORM'ie (jaki ORM tak btw?)

Jeśli masz poprawne zaprojektowaną bazę i dobrze wygenerowane encje - to tak z czasem korzystanie z ORM'a staje się bardzo wygodne. No ale trzeba znać umiar - to że się korzysta z ORM'a nie oznacza że 100% zapytań musi lecieć do bazy właśnie tą drogą. Trzeba znać umiar i jeśli zapytanie jest na serio skomplikowane do zrobienia w ormie- to nie cackamy się i walimy bezpośrednie zapytanie (pamiętaj o poprawnym zbindowaniu wartości)

0

Kurcze teraz nie pamiętam szczerze mówiąc o jakie konkretnie chodziło.
Było coś z kilkoma JOINami (w niektórych warunek z poprzedniej tabeli + stały warunek) i jakimś grupowaniem na koniec.
Próbowałem z nHibernate z tego co pamiętam.

Zabieram się własnie za zupełnie nowy projekt i przy okazji niego chce kolejny raz podejść do tematu stąd pytanie, spróbuję i będę krzyczał jak znów trafię w ślepy zaułek.

0

Ja obecnie używam czegoś "nie do końca" ORM-owego a bardziej DSLa upraszczającego używanie warstwy danych Ecto gdzie w większości przypadków nie miałem problemów z pisaniem nawet bardziej skomplikowanych query. Jedyny moment gdzie musiałem napisać całe query samemu to jak używałem rekursywnego CTE do wyciągnięcia rodzica i wszystkich (zagnieżdżonych) dzieci. W pozostałych przypadkach co najwyżej proste fragmenty, no może jeszcze LATERAL JOIN ale tutaj chyba są prowadzone jakieś prace by to poprawić, ale chyba w każdym frameworku będzie to trochę problematyczne do użycia.

3

Zaraz, ale fakt istnienia ORM nie oznacza że musisz zrezygnować z ręcznych zapytań oO
Zresztą ORM świetny do CUD a R lepiej robi się natywynymi zapytaniami często.

0

ORM przede wszystkim pozwala zaoszczędzić masę czasu na tworzeniu schematu bazy. Jeśli baza już istnieje, to sens używania ORMa znacznie spada.

2

Do ORM z miejsca przekonuje się człowiek jak ma debugować kod procedury składowanej gdzie do tego zapytania są dynamicznie składane. Powodzenia :)

0

Mnie też ORMy nie przekonują. Aplikacje bazodanowe zaczynam projektować od bazy danych. Zazwyczaj to nie są zwykłe, proste selecty, tylko bardziej skomplikowane zapytania, z których robię widoki, do tego dochodzą czasem funkcje i procedury składowane. Idea ORMów jest zacna, ale...

0

Chyba prędzej jak się odzwyczaić od ORM ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0