I'm using Hibernate with a program that I'm developing, and one my small test units turned up a weird issue that I'm not sure if is a bug or i'm screwing up somewhere...

This is the query I have:

be = sess.find("select entry from entry in class " +
"com.blackcore.blogserver.general.BlogEntry where entry.timestamp > ? " +
"and entry.blog.id = ?" +
" order by entry.timestamp asc limit ?", params, types);


From what I figure, this should return all entry objects with a timestamp (actually an date object) greater than the supplied date parameter.

But what happened at first was that it returned (first in the List) the entry with the matching timestamp supplied, rather than the next one with a greater timestamp. In the process of trying to figure out what went on, I manually increased the Date object by 100,000 milliseconds to see if I could get it to skip the first object returned. No such luck. Still returned the first object with the matching timestamp. Heres an output of the debug strings I put in, it outputs the timestamp of the parameter before and after incrementing it. And you can see from the output below that it STILL returns #227, in spite of the fact that it's less than the post-modification timestamp!

before the modification: 1042042968000
 after the modification: 1042052968000
Id is: 227 // first object returned - this shouldnt be returned.
Time is: 1042042968000
Id is: 228 // second object returned .. this should be the first!
Time is: 1042519996000

If i set it to try to try to retrieve the next X entry objects after the most recent entry object in the database, (without advancing the timestamp parameter), it returns only last entry object. But if I do the timestamp advance before passing in the parameter, it returns nothing, which is the right behavior.

The strange thing is that I have a method with is exactly the same as this, but returns a List of entry objects that are LESS than the timestamp. and it works just as expected, no problems with that. Its just weird. Anyone have any insights? I'm using hibernate 1.2.2 with a mysql database.

-tim



-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com - A 128-bit supercerts will
allow you to extend the highest allowed 128 bit encryption to all your
clients even if they use browsers that are limited to 40 bit encryption.
Get a guide here:http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0030en
_______________________________________________
hibernate-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/hibernate-devel



Reply via email to