Nicely written. I like Lombok and use it a lot but I'd like to point out a couple of things:
Newer versions of Java have records and var keyword built in. That's probably the better approach long term. If you target the current LTS (Java 17) then you should be pretty good and Lombok isn't as helpful.
Some people claim Lombok causes problems. I've never run into it but I think these stem from the fact that Lombok generates hashcode and equals methods by default for some annotations. These can conflict with entity tags in JPA.