[hibernate-issues] [Hibernate-JIRA] Created: (HHH-5774) casting exceptions with Teradata database
David Repshas (JIRA)
noreply at atlassian.com
Fri Dec 3 14:16:13 EST 2010
casting exceptions with Teradata database
-----------------------------------------
Key: HHH-5774
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5774
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.5.3
Environment: Hibernate 3.5.3 on Windows XP against a Teradata 13.0 Database
Reporter: David Repshas
Attachments: castingDiffs.txt
Several test cases encounter a java.lang.ClassCastException because Teradata maps 'Double Precision' columns to 'Float':
This code from line 223 of test.component.basic.ComponentTest:testCustomColumnReadAndWrite illustrates the problem:
{code:borderStyle=solid}
Double heightViaSql = (Double)s.createSQLQuery("select height_centimeters from t_user where
t_user.username='steve'").uniqueResult();
{code}
height_centimeters was declared as "DOUBLE PRECISION not null"
and so the attempt to cast a Float to a Double causes the ClassCast Exception
Variants of this code appear in the files that follow:
.\project\testsuite\src\test\java\org\hibernate\test\component\basic\ComponentTest.java
.\project\testsuite\src\test\java\org\hibernate\test\compositeelement\CompositeElementTest.java
.\project\testsuite\src\test\java\org\hibernate\test\hql\ASTParserLoadingTest.java
.\project\testsuite\src\test\java\org\hibernate\test\instrument\cases\TestCustomColumnReadAndWrite.java
.\project\testsuite\src\test\java\org\hibernate\test\join\JoinTest.java
.\project\testsuite\src\test\java\org\hibernate\test\subselect\SubselectTest.java
.\project\testsuite\src\test\java\org\hibernate\test\unionsubclass2\UnionSubclassTest.java
.\project\testsuite\src\test\java\org\hibernate\test\joinedsubclass\JoinedSubclassTest.java
This can be fixed by changing the code to use new Double(String x)
The problem entry above then becomes:
{code:borderStyle=solid}
Double heightViaSql = new Double(s.createSQLQuery("select height_centimeters from t_user
where t_user.username='steve'").uniqueResult().toString());
{code}
The attached file castingDiffs contains the changes made against Hibernate 3.5.3
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list