Joins in Criteria used to delete data can delete datasets also in joined table
------------------------------------------------------------------------------
Key: TORQUE-93
URL: https://issues.apache.org/jira/browse/TORQUE-93
Project: Torque
Issue Type: Bug
Components: Runtime
Reporter: Thomas Fischer
Assigned To: Thomas Fischer
Priority: Critical
Code to reproduce the error:
criteria.add(BookPeer.AUTHOR_ID, authorId);
criteria.addJoin(AuthorPeer.AUTHOR_ID, BookPeer.AUTHOR_ID);
// the following is not needed from a SQL point of view but to generate the
unexpected behaviour
criteria.add(AuthorPeer.AUTHOR_ID, authorId);
BookPeer.doDelete(criteria);
Additionally to deleting the chosen books, this will also delete the
corresponding authors. What happens is that the criteria gets passed to
BasePeer, which tries to figure the table to delete from from the criteria
alone. But as it contains two tables in the where clause, it does not know
which one is the right table, and deletes the data from both tables.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]