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
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... var records = jdbcClient
.sql("select * from posts")
.query(Post.class)
.toList();
records.forEach(p -> ...);