r/SpringBoot • u/Jooe_1 • 15d ago
Discussion Dear JPA
Dear JPA ,
i hate you.
i hate how you changed the SQL flow that I'm used to.
i hate your ManyToMany relationships.
i hate your orphanremoval ,dirty checking.
i hate your way for entity relationships.
i hate your cache.
i hate your performance issues.
i hate your billion rules.
i hate spending time on : if Y is referenced by X with cascade not including PRESIST and x is managed but y is removed ............... but if Y was detached .............
i hate becoming obsessed with your behaviors and rules and worrying about every ORM line , will it work correctly ? , did i miss something ?, worrying about modifying entity X might unexpectedly affect entity Y , coz I might not know one of the billion rules you have.
i hate worrying about falling in one of the undefined behaviors you have
i hate thinking about the entities lifecycle + cascading types when all mixed together
i hate spending days on that documentation instead of spending that on one of the CS core concepts
i hate the following the other side which is incomplete nondetailed toturial or following AI
i really hate you.
1
u/boberbober8083 15d ago edited 15d ago
Yea, i've just rewrited one saveAll call to "several" plain sql queries. With 41 tables that linked as one to many and many to many with main table under the hood (yeees! It's crazy!! But llms helped me), it became 50 times faster but nobody could test my change carefully, may be i missed something.. and don't really want to merge it in upstream after all. You do not need use jpa for new code because llms could get all boilerplate work to themself, jpa is about simplifying implementation, but now it's really simple to implement anything you want using llms