1. Entity doesn’t override default equals, so you should override it in your entities or create sub-class with override and use it.
2. single vs multiple transaction blocks depends on your need: If you don’t worry that state in database can change between blocks - than you can use short transactions, to prevent locks in database.
I prefer single transaction block, because it gives better readability.