Project Properties

To modify the project properties, right click on the project and click properties > Hibernate Synchronizer.

General

You can modify how Hibernate creates these objects at the project level. To do so, right click on the project and click Hibernate Synchronizer. There are several tabs on this page but the tab we are referring to right now is the General tab. These options refer to the value objects that are created from the mapping files. The objects are created as base and extension objects. The base objects contain all the generated code and will be overwritten upon mapping file modification. The extension objects contain no generated code but extend the base objects to inherit the generated functionality.

Having this option checked will allow the automatic synchronization of objects when the mapping files are saved (if the Hibernate Synchronizer editor is used to modify the files).
Having this option checked will cause the automatic synchronization of the value objects, proxy interfaces, primary key objects, enumerations...
Use this option to have the base value objects created in a sub-package of the value objects. Use the entry to specify the sub package location relative to the value objects.
Use this option to have the base value objects created in a statically defined location entry to specify the package location.
Use this option to have the base value objects created in the same package as their corresponding value object. The entry has no relevance in this situation.

DAOs can be created for you automatically. These objects essentially wrap the Hibernate Session method calls with class specific signatures (no need for casting) and allow you a place to put business logic as well as providing some convenience methods for initializing and retrieving sessions...

Having this option checked will cause the automatic synchronization of the DAOs
Use this option to have the DAOs created in a sub-package of the value objects. Use the entry to specify the sub package location relative to the value objects.
Use this option to have the DAOs created in a statically defined location entry to specify the package location.
Use this option to have the DAOs created in the same package as their corresponding value object. The entry has no relevance in this situation.
Selecting this checkbox will cause the base DAOs to be created in the same package that the DAOs are created in.
Use this option to have the base DAOs created in a sub-package of the DAOs. Use the entry to specify the sub package location relative to the DAOs.
Use this option to have the base DAOs created in a statically defined location entry to specify the package location.
Use this option to have the base DAOs created in the same package as their corresponding DAOs. The entry has no relevance in this situation.
Select this checkbox to choose not to have the plugin create a root DAO (the superclass of the base DAO) and to specify one that you have created.
If using a custom root DAO, use this text box to browse to the location of the root DAO.
If using a custom root DAO, you may want the DAO methods to throw different exceptions than HibernateException. Use this text box to browse to the location of the exception. Leave the field blank to not throw any exception (if using runtime exceptions).

Templates

Any custom templates that you have defined must be included in your project. When including the template in your project, you can specify what name the class or resource should be. You will also be able to define Velocity variables to exist in the context when the generation occurs. The template generation will occur for every class in any mapping file that is synchronized.

This table shows a list of the currently active project templates.
When adding a new project template, this select box will list all of the templates that you have defined for your workspace.
This text box will represent the name of the class or resource to be created. You may use Velocity variables here.
If the template represents a Java class, enter the package name. If the template represents a resource, enter the path under the project to the resource. You may use Velocity variables here.
Check this if you want the resource to be overwritten anytime the files are synchronized as opposed to not editing the resource once it has been created.
Use this button to add a new project template. You must have defined templates for your workspace for this button to be enabled (use window > preferences > Hibernate Synchronizer > Templates).
Use this button to edit the currently selected project template.
Use this button to delete the currently selected project template.
Use this button to import a previously exported set of project templates. Note: the workspace defined template is not actually imported... just the project name and location references.
Use this button to export the currently checked set of project templates.
This table represents any Velocity context variables that have been defined.
Use this button to add a new context variable.
Use this button to edit the currently selected context variable.
Use this button to delete the currently selected context variable.
You may use this to select an object to be put into the context. This object can be referenced as $obj. If you have multiple object to be put into the context, add the objects to a java.util.Map and select the Map to be added to the context. The keys of the map entries will be used as the context variable names.

Snippets

Snippets can be overridden at the project level. This is beneficial because you have the ability to create templates abstractly by referencing snippets which can have different values for different projects.

This table shows a list of the currently active project templates.
Use this checkbox to determine if a workspace snippet is to be overridden or if a project level snippet is to be created.
This represents the selection of project level snippets if the override choice is enabled.
This is the name of the snippet. If the name is foo, the snippet can be referenced in the template as $snippet.foo
This represents a description of the snippet that will be shown in the snippet list.
An edit area for manipulating the content of the snippet.
Use this button to add a new snippet to your project or override an existing snippet from your workspace.
Use this button to edit an existing project snippet.
Use this button to delete an existing project snippet.