I am specifically looking for JPA code generation technique
First, what are all the project could generate JPA compliant code? (Eg. HibernateTools)
Second, I
I also have difficulties understanding the question, but I'll try to rephrase:
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:
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:
@MappedSuperclass for classes which you may want to adapt in a manual step.