Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 57828 invoked from network); 22 Feb 2011 13:18:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 22 Feb 2011 13:18:03 -0000 Received: (qmail 85680 invoked by uid 500); 22 Feb 2011 13:18:03 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 85492 invoked by uid 500); 22 Feb 2011 13:18:00 -0000 Mailing-List: contact dev-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list dev@openjpa.apache.org Received: (qmail 85482 invoked by uid 99); 22 Feb 2011 13:17:59 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Feb 2011 13:17:59 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Feb 2011 13:17:58 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 827931B14F6 for ; Tue, 22 Feb 2011 13:17:38 +0000 (UTC) Date: Tue, 22 Feb 2011 13:17:38 +0000 (UTC) From: "Vermeulen (JIRA)" To: dev@openjpa.apache.org Message-ID: <1473360277.8134.1298380658531.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] Created: (OPENJPA-1950) exception when converting datetime2 result from String to java.util.Date (ms sql server) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 exception when converting datetime2 result from String to java.util.Date (ms sql server) ----------------------------------------------------------------------------------------- Key: OPENJPA-1950 URL: https://issues.apache.org/jira/browse/OPENJPA-1950 Project: OpenJPA Issue Type: Bug Components: integration, jdbc, third-party Affects Versions: 2.1.0 Reporter: Vermeulen OPENJPA-1759 (included in OpenJPA 2.1.0) added support for datetime2 in sql server. Schema generation uses this type instead of datetime which was generated with earlier versions. When I have an entity with a java.util.Date column like: @Entity public class DateTestEntity { ... @Temporal(TemporalType.DATE) private Date date; ... Performing the following query with expected result type java.util.Date fails (also happens with OpenJpa 2.0.0 when there is an existing table column of type datetime2). "SELECT max(z.date) FROM DateTestEntity z" This throws the following exception: org.apache.openjpa.persistence.ArgumentException: Failed to execute query "SELECT max(z.date) FROM DateTestEntity z". Check the query syntax for correctness. See nested exception for details. at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:872) at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:794) at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542) at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:305) at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:319) at DateTest.findMaxDate(DateTest.java:96) at DateTest.testSelectDate(DateTest.java:41) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:79) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) Caused by: java.lang.ClassCastException: Cannot convert object "2011-02-22 00:00:00.0000000" of type "class java.lang.String" into an instance of "class java.util.Date". at org.apache.openjpa.kernel.Filters.convert(Filters.java:336) at org.apache.openjpa.kernel.Filters.convert(Filters.java:265) at org.apache.openjpa.jdbc.kernel.exps.UnaryOp.load(UnaryOp.java:125) at org.apache.openjpa.jdbc.kernel.ProjectionResultObjectProvider.getResultObject(ProjectionResultObjectProvider.java:78) at org.apache.openjpa.kernel.QueryImpl$PackingResultObjectProvider.getResultObject(QueryImpl.java:2075) at org.apache.openjpa.kernel.QueryImpl.singleResult(QueryImpl.java:1330) at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1242) at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1007) at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:863) ... 25 more What is weird is that the query "SELECT z.date FROM DateTestEntity z" does correctly convert to java.util.Date. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira