-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: timestamp to datetime conversion exception in SQL server2005
PostPosted: Fri Jul 07, 2006 4:42 pm 
Newbie

Joined: Wed Nov 09, 2005 3:55 pm
Posts: 7
Hi,
I'm trying to persist a field "entertimestamp" that is of type java.sql.Timestamp to a column "enter_TS", a datetime datatype in sql server 2005. I get an exception :
java.lang.UnsupportedOperationException: cannot perform lookups on timestamps. I don't know if I can do the conversion with the primary key since enter_TS is a part of the key.



Hibernate version: 3.0

Mapping documents:
<hibernate-mapping package="com.test.pas.common">

<class
name="FluClinic"
table="FluClinic"
dynamic-insert="true"
dynamic-update="true"
>

<composite-id class="com.test.pas.common.keys.FluClinicPK" name="fluClinicPK">


<key-property
name="enteredBy"
type="com.test.pas.common.customtypes.TrimmedString"
column="EnteredBy"
/>

<key-property
column="Enter_TS"
name="enterTimeStamp"
type="timestamp"
/>

<key-property name="HRN"
type="com.test.pas.common.customtypes.TrimmedString">
<column name="HRN" sql-type="character(9)" not-null="true" />
</key-property>

</composite-id>

<property
name="enteredBy"
type="com.test.pas.common.customtypes.TrimmedString"
access="property"
column="EnteredBy"
insert="false"
update="false"
/>


<property
column="Enter_TS"
name="enterTimeStamp"
type="timestamp"
access="property"
insert="false"
update="false"
/>

<property
column="Uploaded_TS"
name="uploadedTimeStamp"
type="timestamp"
access="property"
insert="true"
update="true"
/>

<property
name="HRN"
type="com.test.pas.common.customtypes.TrimmedString"
access="property"
column="HRN"
insert="false"
update="false"
/>


Full stack trace of any exception that occurs:

12:13:55,110 WARN [RequestProcessor] Unhandled Exception thrown: class java.lang.UnsupportedOperationException
12:13:55,110 WARN [RequestProcessor] Unhandled Exception thrown: class java.lang.UnsupportedOperationException
12:13:55,120 ERROR [[action]] Servlet.service() for servlet action threw exception
java.lang.UnsupportedOperationException: cannot perform lookups on timestamps
at org.hibernate.type.TimestampType.getHashCode(TimestampType.java:98)
at org.hibernate.type.AbstractType.getHashCode(AbstractType.java:113)
at org.hibernate.type.ComponentType.getHashCode(ComponentType.java:199)
at org.hibernate.engine.EntityKey.getHashCode(EntityKey.java:65)
at org.hibernate.engine.EntityKey.<init>(EntityKey.java:38)
at org.hibernate.event.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:135)
at org.hibernate.event.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:106)
at org.hibernate.event.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:180)
at org.hibernate.event.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:31)
at org.hibernate.event.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:169)
at org.hibernate.event.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:25)
at org.hibernate.event.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:65)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:479)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:474)
at com.kaiser.pas.dao.FluClinicDAO.createFluClinic(FluClinicDAO.java:58)
at com.kaiser.pas.action.pocketpc.PocketPCFluAcceptionAction.doExecute(PocketPCFluAcceptionAction.java:106)
at com.kaiser.pas.facility.action.ValidationAction.execute(ValidationAction.java:68)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.kaiser.pas.dao.HibernateFilter.doFilter(HibernateFilter.java:34)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.kaiser.pas.facility.security.SecurityFilter.doFilter(SecurityFilter.java:73)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
12:13:55,120 ERROR [[action]] Servlet.service() for servlet action threw exception
java.lang.UnsupportedOperationException: cannot perform lookups on timestamps
at org.hibernate.type.TimestampType.getHashCode(TimestampType.java:98)
at org.hibernate.type.AbstractType.getHashCode(AbstractType.java:113)
at org.hibernate.type.ComponentType.getHashCode(ComponentType.java:199)
at org.hibernate.engine.EntityKey.getHashCode(EntityKey.java:65)
at org.hibernate.engine.EntityKey.<init>(EntityKey.java:38)
at org.hibernate.event.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:135)
at org.hibernate.event.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:106)


Name and version of the database you are using: SQL SERVER2005

PrimaryKey class

public class FluClinicPK implements Serializable
{

private static final long serialVersionUID = 1L;

// private int hashValue = 0;

private String HRN;
private String enteredBy;
private Timestamp enterTimeStamp;

public FluClinicPK( )
{
// used for hibernate
}

public FluClinicPK( String enteredBy, Timestamp enterTimeStamp, String HRN )
{
this.enteredBy = enteredBy;
this.enterTimeStamp = enterTimeStamp;
this.HRN = HRN;
}

/**
* Implementation of the equals comparison on the basis of equality of the Id components.
*
*/

public boolean equals( Object o )
{
if ( this == o ) return true;
if ( o == null ) return false;
if ( !(o instanceof FluClinicPK) ) return false;
final FluClinicPK fluClinicPK = (FluClinicPK) o;

if ( !enteredBy.equals( fluClinicPK.getEnteredBy( ) ) ) return false;
if ( !enterTimeStamp.equals( fluClinicPK.getEnterTimeStamp( ) ) ) return false;
if ( !HRN.equals( fluClinicPK.getHRN( ) ) ) return false;
return true;
}

public int hashCode( )
{
return (getEnteredBy( ) + getEnterTimeStamp( )+ getHRN( )).hashCode( );
}
// other getters and setters.
}

Table description :

CREATE TABLE [dbo].[FluClinic](
[EnteredBy] [char](12) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Enter_TS] [datetime] NOT NULL,
[Trans_Status] [char](1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[HRN] [char](9) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[EventDate] [datetime] NOT NULL,
[ActionCode] [char](12) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[GivenBy] [char](30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[GivenAt] [char](30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Imm_Fac_Dept] [char](8) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Lot] [char](25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Dose] [char](25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Route] [char](25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Site] [char](25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[ExtractDate] [datetime] NULL,
[SRCSystem] [char](1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Uploaded_TS] [datetime] NULL,
PRIMARY KEY (EnteredBy, Enter_TS, HRN))




Please help me out with this.

Thanks,
Anand.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.