DEV Community

Discussion on: Why I switched from VsCode to WebStorm

 
siy profile image
Sergiy Yevtushenko

I've used them for more than a decade, and I'm pretty sure they are both garbage. It's hard to express how much harm they did to whole Java ecosystem and still doing to developers and enterprises.

Hibernate is poor in every respect - it's poor in query optimization, poor in abstracting out DB access, poor in regard to writing queries, poor in regard to performance, etc. Anyone who needs performant, convenient to use and typesafe DB access should look for alternative. For example, JOOQ is good in every above-mentioned aspect - it has great performance, writing typesafe, arbitrarily complex queries is a breeze, optimization of queries is not different from doing that in plain SQL, etc.

Spring is not different to Hibernate - poorly designed and implemented, a lot of hidden "magic" which causes countless hard to nail down issues. Beside that it promotes bad practices like overuse of annotations and business-level exceptions.

Thread Thread
 
klvenky profile image
Venkatesh KL

You've a lot of fair points to think about. I've faced issues with hibernate earlier as I had to forcefully change the database schema as some query was not supported by it. I get you.
Probably you can create a post & share it with us so that lot of us can understand what can be improved in those systems & help us get better. Not sure if you've done that already. Please share it with us if it's already there.
I'm also against annotations of spring. I personally think that they cause issues in understanding the entire system. I like them old way of using XML to configure the entire beans loaded. But it's little hard for newbies to enter(was for me). I think brilliant documentation can help in that.
I support you fully with the annotations part.

Thread Thread
 
siy profile image
Sergiy Yevtushenko

Taking into account a huge wave of articles with promotion of Spring and Hibernate, article with critics will be considered a clickbaiting and hardly change situation. Nevertheless, if you're interested, just look around. Try Guice instead of Spring DI, JOOQ instead of Hibernate, Project Reactor instead of Spring Flux. There are a number of microframeworks for web services - Spark, Jooby, Rapidoid just to name few.

Thread Thread
 
klvenky profile image
Venkatesh KL

Sure. I'll give them a shot.
Thanks 👍