Thanks Avi.
Joe Zhou
--- Avi Kivity <[EMAIL PROTECTED]> wrote:
> >
> > Can someone tell me why the primary key class must
> > implement hashCode() and equals() method?
>
> The container uses these method to find if a bean
> instance is in its cache
> or not.
> Think of the cache as a hash map of PrimaryKeys to
> EJB instances.
>
> >
> > How should I implement them?
> >
> As you would implement them for any value object:
>
> class PrimaryKey {
> Type1 field1;
> Type2 field2;
>
> boolean equals(Object other) {
> if (other == null || !(other instanceof
> PrimaryKey)) return false;
> PrimaryKey o = (PrimaryKey)other;
> return (field1 == o.field1 || field1 != null
> &&
> field1.equals(o.field1))
> && (field2 == o.field2 || field2 != null
> &&
> field2.equals(o.field2))
> }
>
> int hashCode() {
> int ret = 0;
> if (field1 != null) ret +=
> field1.hashCode();
> if (field2 != null) ret += field2.hashCode()
> * 127;
> return ret;
> }
> }
>
> - Avi
> --
> s/\be(\w+)/e-\1/g;
>
>
===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED]
> and include in the body
> of the message "signoff EJB-INTEREST". For general
> help, send email to
> [EMAIL PROTECTED] and include in the body of the
> message "help".
>
__________________________________________________
Do You Yahoo!?
Send instant messages with Yahoo! Messenger.
http://im.yahoo.com/
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".