####Local archetype
Execute this inside your archetype project $ mvn install archetype:update-local-catalog. After that, create a new project using the newly installed archetype by using $ mvn archetype:generate -DarchetypeCatalog=local, choose the archetype number corresponding to the one you just installed and follow the on screen instructions. Here's a good example of an archetype to get you started.

Simple generic DAO structure for Java. Note that the interface takes two generic parameters, one for the primary key type, and the second for the bean type, which uses the same primary key. This enables you to use any kind of object as a primary key, making your code very flexible. This is a good behavior especially if you use JPA embedded ids (…