That is actually a JPA mapping for your persistence layer, which is one of the relatively few things where lots of annotations should be acceptable (except for the inevitable runtime problems due to foreign data mappings):
https://en.wikipedia.org/wiki/Jakarta_PersistenceIt's not even that bad, when you consider something like myBatis, which can be useful for cases where you need complex dynamic SQL for your models, but can also involve boilerplate if you don't have codegen: https://mybatis.org/mybatis-3/sqlmap-xml.html
Though in regards to service code and such, I agree, it can get out of hand and be a total mess sooner rather than later. Not being able to properly debug this magic is just the cherry on the top.