Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

And at the same time, gives you a dozen of footguns. This is just a list for the gotchas in the "@Transactional" annotation - https://dev.to/closeup1202/8-spring-transactional-pitfalls-t...

Now read up on all the dozen of annotations. But yeah, we did not want to "re-invent the wheel".



Im comparing against node equivalent ORMs and find spring consistently better. Yeah ive got to read up on annotations - but when it comes to transactions its always worth revisiting them to check for changes


Meh...

    await using cn = await pool.connect();
    const records = await cn.query<MyType>`
      SELECT ...
      FROM ...
      WHERE ...
    `;
    for await (const record of records) {
      ...
    }
Oh, spring is so much better...


Spring version:

  var records = jdbcClient
     .sql("select * from posts")
     .query(Post.class)
     .toList();
     
  records.forEach(p -> ...);


I'm not seeing a RecordsRequestFactoryHandlerProviderFactory in there... maybe it's not as bad as I remember.


Half of those are not really an issue with the annotation and seem a bit contrived.

Thankfully the company that wrote the article has a linter/warning product to help avoid those pitfalls.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: