I also have difficulties understanding the question, but I'll try to rephrase:
- You have a lot of data in a DB and want to access it via JPA
- You don't want to manually write the classes to access the different DBs/tables
- Currently all/most of your model classes are generated from within Eclipse
- These models have JPA annotations
- The model classes (or the annotations) are not according to corporate standards
When you say "JPA java code generation", I understand generating JPA annotated model classes from a supplied DB connection. Most frameworks often refer to this as reverse engineering.
Now you have two questions:
- What code generators can be recommended to generate JPA annotated classes?
- Is it possible to customize the output of these frameworks, and in which way?
To answer to the first question:
I really like the Netbeans code generation, especially if you show the results to someone not familiar with JPA.
At the level of customization I can only share the experience I had with Hibernate Tools. Especially for reproducible results, try to use the ant-based tasks. You can easily add some targets to your build and code generation can be done at two levels:
With the templates you should be able to cover most of the corporate standards. Look into the pojo
directory of the hibernate-tools package. The easiest way to customize the code generation is to copy and adapt the templates and have them put before the hibernate-tools.jar in the ant task used to create the pojos.
As already pointed out in another comment, it might be difficult to modify the generated code afterwards. I hope the following tips can help you:
- Try to separate generated and customized source files in different folders.
- Think about using
@MappedSuperclass
for classes which you may want to adapt in a manual step.