# Pre-joins

After tables have been added to a catalog, you can now use them to build reports. However, in your daily work, you may often be dealing with a set of tables in your queries. You will have to define relationships and create joins among different tables every time you create a new report. For XML data source, if the parent and children nodes are transformed to different tables, joins will be embodied by the parent-child relationship, which is maintained by primary key and foreign key in tables.

JReport Designer provides you with a pre-join feature. The pre-join information is one kind of resource information stored in the catalog. It is saved in a standalone file with the extension .pre, and shares the same prefix as the catalog file. It is not used at report runtime. In JReport Designer, when you open a catalog, the pre-join file is opened at the same time. When you save the catalog, the pre-join file is also saved.

Using the pre-join feature, you can do the following:

- Creating joins between tables
- Modifying a join
- Defining join paths
- Editing, deleting and renaming join paths
- Saving the relationships together with a catalog