cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joachim Durchholz (Commented) (JIRA)" <>
Subject [jira] [Commented] (CAY-1622) Generated classes shouldn't produce serialVersionUID compiler warning
Date Tue, 04 Oct 2011 11:34:33 GMT


Joachim Durchholz commented on CAY-1622:

(I don't see the mail address of the list, falling back to commenting on JIRA for now.)

Two minor nits to pick with Dzmitry's patch.
Suggestion #1: Use separators between the names when constructing the array to be hashed.
This reduces the collision chance back to the theoretical minimum.
Suggestion #2: Just pick up the first eight bytes of the digest. You don't need to iterate
over all of the resulting digest bytes just to shift them out to the left, you know :-) (oh,
and you could use DataInputStream#readLong for that, getting whatever implementation is currently
considered state of the art). Or use ByteBuffer.wrap(hashBytes).getLong(). Both ways may throw
exceptions, but then a hash code is supposed to return enough bytes for a long (at the very

> Generated classes shouldn't produce serialVersionUID compiler warning
> ---------------------------------------------------------------------
>                 Key: CAY-1622
>                 URL:
>             Project: Cayenne
>          Issue Type: Bug
>          Components: Core Library
>    Affects Versions: 3.0
>            Reporter: Bob Harner
>            Priority: Minor
> It is probably a good idea for Cayenne not to produce any compiler warnings, but auto-generated
entity classes always have the "The serializable class _Foo does not declare a static final
serialVersionUID field of type long" compiler warning.  
> The @SuppressWarnings("serial") annotation will get rid of the warnings, but of course
it is not recommended to manually update the generated  classes.
> Users could configure the IDE to ignore these warnings (yuk), but then other team members
will still see them.
> Another option is to for users to set up a custom velocity template to include this annotation.
> But the best solution would be for Cayenne to either automatically generate either the
serialVersionUID itself or the @SuppressWarnings("serial") annotation that suppresses the
compiler warning.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message