db-torque-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "CG Monroe (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TORQUE-182) Additional methods for handling associated objects
Date Mon, 27 Feb 2012 15:58:48 GMT

    [ https://issues.apache.org/jira/browse/TORQUE-182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13217237#comment-13217237
] 

CG Monroe commented on TORQUE-182:
----------------------------------

I think this should be done either as a set of new methods rather than automatically doing
this on save.  

Just because something is related does not mean there is automatically a one to one relationship.
 So, deleting the related information automatically and by default is not a good thing IMHO.

For instance, take the case of an object that maps a user to application permissions.  If
you delete or modify the user mapping, you don't want to automatically delete the permission
records, since there are used by multiple other users and application tables.

If you are going to do a "cascade" delete, it should be clear in the code that this is happening.
 Just like in a DB schema, you can decide exactly where this happens.
                
> Additional methods for handling associated objects
> --------------------------------------------------
>
>                 Key: TORQUE-182
>                 URL: https://issues.apache.org/jira/browse/TORQUE-182
>             Project: Torque
>          Issue Type: New Feature
>            Reporter: Thomas Fox
>            Assignee: Thomas Fox
>
> Assuming complexObjectModel=true and objectIsCaching=true (the default settings for generation)
> Consider a table (book) having a foreign key on another table (author).
> Couurently, in the Author object, the method addBook() is implemented, by which a book
can be associated with the author and which adds it to the collection obtained by getBooks().
These books are also saved when the author object is saved.
> However, there are no methods by which associations can be removed, an associated book
can be deleted or all associated books can be deleted.
> It would be nice if one could do these operations on an object level and these operations
would be written to the database on save().
> The first possibility to implement this would be to generate methods removeBook(), deleteBook()
and deleteAllBooks().
> The other possibility would be to use a custom list object which intercepts the calls
to the add(), remove() etc methods and translates these operations to database operations
(with the problem that remove() can be interpreted as removing the association as well as
deleting the associated object, my preference being the latter)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org


Mime
View raw message