[ 
https://issues.apache.org/jira/browse/OPENJPA-497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560432#action_12560432
 ] 

Albert Lee commented on OPENJPA-497:
------------------------------------

java.sql.Timestamp extends java.util.Date.  You can use a Timestamp as if it is 
a Date object but not the other way around because there are other attributes 
in Timestamp object that  Date object does not have.  Declare start and end as 
java.sql.Timestamp and try again.

Albert Lee.

> Incorect handling of temporal parameters in queries
> ---------------------------------------------------
>
>                 Key: OPENJPA-497
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-497
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 1.0.1
>         Environment: Java 1.6
> Glassfish v2
> openjpa-1.0.1-r420667
>            Reporter: Mircea Lazar
>            Priority: Minor
>
> The entity:
> For an entity:
> @Entity
> class Log{
>       protected Timestamp startTime;
> }
> given the query
> SELECT al FROM Log al WHERE al.startTime BETWEEN :start AND :end ORDER BY 
> al.id ASC
> If the query is used as:
> query.setParameter("start", start, TemporalType.TIMESTAMP);
> query.setParameter("end", end, TemporalType.TIMESTAMP);
> where start and end are of type java.util.Date, an exception will be thrown:
> org.apache.openjpa.persistence.ArgumentException: The parameter
> "start" is of type "java.util.Date", but the declaration in the query
> is for type "java.sql.Timestamp".
>       at 
> org.apache.openjpa.persistence.QueryImpl.validateParameter(QueryImpl.java:270)
>       at 
> org.apache.openjpa.persistence.QueryImpl.validateParameters(QueryImpl.java:257)
> OpenJPA appears to ignore the temporal indications in setParameter because 
> QueryImpl is as this:
> public OpenJPAQuery setParameter(int position, Date value,
>    TemporalType type) {
>    return setParameter(position, value);
> }
> The Date parameter should be converted to Timestamp inside setParameter 
> method.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to