[
https://issues.apache.org/jira/browse/OPENJPA-497?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Craig Russell updated OPENJPA-497:
----------------------------------
Attachment: openjpa-497.patch
Please review this patch.
I don't know if the conversion method belongs here or in a different utility
class.
The specification is unclear as to what the appropriate conversions should be,
but what's done here seems to be consistent with what other implementations do.
I haven't written any tests to check for correctness. Where should the tests go?
> 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
> Attachments: openjpa-497.patch
>
>
> 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.