[
https://issues.apache.org/jira/browse/OPENJPA-497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560715#action_12560715
]
Craig Russell commented on OPENJPA-497:
---------------------------------------
Hi Mircea,
I agree with your interpretation of the purpose of that TemporalType param.
OpenJPA should convert the parameter given to the appropriate TemporalType.
Of course, it would be nice if the specification were a bit more discursive on
this topic. And if the TCK had a test.
> 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.