A JDBC table must be created for each relational database table that will be used in the JDBC data view. When you create a JDBC table you specify the name of the table in the relational database, and the name you want to assign to this table in the JDBC data view.
The following properties apply to JDBC tables:
SQL table. (sql-table) Specifies the name of the relational database table.
This value must be specified when you create the JDBC table but can be changed if the SQL table name changes.
Single row table. (is-single-row-table) Specifies that an LDAP entry has only one matching row in the relational database table.
Generally, performance is improved if this property is set to true because there is no ordering in the SQL request.
Shared entries. (contains-shared-entries) This property determines what should be done if a row in a secondary table is used by more than one entry in the primary table.
Imagine for example, that the primary table contains a list of user details and the secondary table contains department numbers. A single department number in the secondary table might apply to more than one user in the primary table. If a user is deleted, you do not necessarily want that user's department number to be deleted from the secondary table.
The contains-shared-entries property is set on secondary tables only. If this property is set to TRUE, deleting an LDAP entry will result in deletion of the user in the primary table but not in the deletion of the corresponding row in the secondary table.
Filter join rule. (filter-join-rule) A filter join rule defines the relationship between primary and secondary tables.
A filter join rule is mandatory on secondary tables, and indicates how an entry should be retrieved from the secondary table based on something in the primary table.
Only one filter join rule can be configured on each secondary table. A filter join rule takes the form of a filter that is used to construct an LDAP attribute.
For example, the following command creates a filter join on the secondary phone table. This rule stipulates that an entry be retrieved from the phone table if the user_id field in that table matches the id field in the employee table.
$ dpconf set-jdbc-table-prop -h myHost -p 2389 -d "cn=Proxy Manager" \ phone filter-join-rule:'user_id=\${employee.id}'