db-torque-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dovlecel Alexandru Ovidiu <alexandru.dovle...@siemens.com>
Subject RE: hashCode/equals contract broken in BaseObject
Date Tue, 04 May 2004 14:05:57 GMT
You can use torque objects as hash keys with one condition: 

all the keys in the hashtable must be instances of the same torque class.
Then you will not have any inconsistency. 

-----Original Message-----
From: Shevek [mailto:shevek@anarres.org]
Sent: Tuesday, May 04, 2004 4:07 PM
To: Apache Torque Users List
Subject: hashCode/equals contract broken in BaseObject


hashCode and equals in BaseObject rely only on the primary key. This
breaks horribly (violates the general contract of hashCode()/equals()) if 
you compare two objects of different classes.

It MUST compare ob.getClass() as well as ob.getPrimaryKey() and include
ob.getClass().hashCode() in its hashCode() [by xor?] [or something
equivalent].

No doubt the reason for this violation is noted in the FAQ, but it seems
worth noting as a serious bug since it means I can't use Torque objects as 
hash keys.

S.

-- 
Shevek                                    http://www.anarres.org/
I am the Borg.                         http://www.gothnicity.org/

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

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


Mime
View raw message