Hi Denis,
Thanks for your explanations. While I appreciate the fact that your approach seems more convenient, I'm still not quite sure why these a multi-project setup is a show stopper for you. "Works better" is rather subjective and perhaps you ran into bugs in other tools that you're now trying to work around, but frankly, none of those tools (neither IDEs nor Spring Boot, nor jHipster) should be opinionated about how many projects / modules any particular software is split up into.
I mean, in pretty much every application I ever worked on, we wrote our own libraries that we made generally available to many other systems, so a single project setup was simply never something we would have wanted anyway.
Now, this doesn't mean I don't agree we should find a solution to this problem, I just really don't think that the arguments are strong ones in favour of prioritising the improvement. The problem with the APT based approach and the current JPADatabase in jOOQ is the fact that APT based approaches do not expose the java.lang.Class / java.lang.reflect.* based introspection API, which is needed by JPADatabase in order to work with org.hibernate.boot.MetadataSources programmatically behind the scenes.
The APT javax.annotation.processing.Processor works with an alternative reflection API that cannot be used in the same way as the above. This means that either we can work out a solution involving calling some Hibernate (or any other JPA ORM) internals, which already uses the APT Processor API, or we roll a lot of functionality our own (which certainly cannot be prioritised), or maybe there's another solution that I'm missing right now.
I think the best way to push this feature would be to hint at a solution that I might be missing, which doesn't involve re-implementing pretty much a complete JPA annotation processor.
I hope this helps,
Lukas