diff options
Diffstat (limited to 'documentation/sqlcontainer/sqlcontainer-referencing.asciidoc')
-rw-r--r-- | documentation/sqlcontainer/sqlcontainer-referencing.asciidoc | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/documentation/sqlcontainer/sqlcontainer-referencing.asciidoc b/documentation/sqlcontainer/sqlcontainer-referencing.asciidoc deleted file mode 100644 index b31b10d39d..0000000000 --- a/documentation/sqlcontainer/sqlcontainer-referencing.asciidoc +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: Referencing Another SQLContainer -order: 6 -layout: page ---- - -[[sqlcontainer.referencing]] -= Referencing Another SQLContainer - -When developing a database-connected application, there is usually a need to -retrieve data related to one table from one or more other tables. In most cases, -this relation is achieved with a foreign key reference, where a column of the -first table contains a primary key or candidate key of a row in another table. - -SQLContainer offers limited support for this kind of referencing relation, -although all referencing is currently done on the Java side so no constraints -need to be made in the database. A new reference can be created by calling the -following method: - - ----- -public void addReference(SQLContainer refdCont, - String refingCol, String refdCol); ----- - -This method should be called on the source container of the reference. The -target container should be given as the first parameter. The -[parameter]#refingCol# is the name of the 'foreign key' column in the source -container, and the [parameter]#refdCol# is the name of the referenced key column -in the target container. - -__Note: For any [classname]#SQLContainer#, all the referenced target containers -must be different. You can not reference the same container from the same source -twice.__ - -Handling the referenced item can be done through the three provided set/get -methods, and the reference can be completely removed with the -[methodname]#removeReference()# method. Signatures of these methods are listed -below: - - ----- -public boolean setReferencedItem(Object itemId, - Object refdItemId, SQLContainer refdCont) -public Object getReferencedItemId(Object itemId, - SQLContainer refdCont) -public Item getReferencedItem(Object itemId, - SQLContainer refdCont) -public boolean removeReference(SQLContainer refdCont) ----- - -The setter method should be given three parameters: [parameter]#itemId# is the -ID of the referencing item (from the source container), [parameter]#refdItemId# -is the referenced [parameter]#itemID# (from the target container) and -[parameter]#refdCont# is a reference to the target container that identifies the -reference. This method returns true if the setting of the referenced item was -successful. After setting the referenced item you must normally call -[methodname]#commit()# on the source container to persist the changes to the -database. - -The [methodname]#getReferencedItemId()# method will return the item ID of the -referenced item. As parameters this method needs the item ID of the referencing -item and a reference to the target container as an identifier. -[classname]#SQLContainer# also provides a convenience method -[methodname]#getReferencedItem()#, which directly returns the referenced item -from the target container. - -Finally, the referencing can be removed from the source container by calling the -[methodname]#removeReference()# method with the target container as parameter. -Note that this does not actually change anything in the database; it merely -removes the logical relation that exists only on the Java-side. - - - |