hi! In case anybody is interested: Here is my take on this very common problem of handling timestamps expressed in arbitrary timezones: I understand that there is no easy and portable way to store timestamps with timezone information in the database. Thus I'm using SQL type TIMESTAMP (which has no timezone information) to store timestamp information and normalize all timestamps in the database to UTC. A UTC database timestamp is mapped as a Hibernate timestamp type to a java.util.Date. A java.util.Date also has no timezone information. However, the getter/setter for a timestamp property on the Java entity type returns/takes a java.util.Calendar object. A java.util.Calendar contains timezone information, thus to the client of the Java class there can never be any doubt in which timezone a timestamp is expressed. (I use Hibernate field access for the Hibernate mapping because of the above.) The setter immediately converts the Calendar timestamp to a java.util.Date in UTC to set the entity's field. Conversely, the getter constructs a java.util.Calendar with timezone UTC and initializes it from the entity's field. Thus, the information about the timezone in which the client originally expressed a timestamp is lost, but the timezone handling is otherwise correct. cheers, gerald