]
Steve Ebersole commented on HHH-5135:
-------------------------------------
Additionally, I want to go ahead and add special processing for both the ANSI SQL extract
and trim functions because both of these give problems here (due to their use of the FROM
keyword as functiona arguments)
"Ambiguous column" exception thrown with columns having the
same name as a function registered with the dialect (e.g. to_date, floor)
-------------------------------------------------------------------------------------------------------------------------------------
Key: HHH-5135
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-5135
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.5.0-Final, 3.5.1
Environment: Hibernate 3.5.1, Oracle 10.2.0.1.0
Reporter: Vladimir Ivanov
Assignee: Steve Ebersole
Fix For: 3.5.2
Attachments: test_case.zip
Original Estimate: 8h
Remaining Estimate: 8h
I have entity 'Period' with property 'toDate' mapped to database column
with name 'TO_DATE' (Our database is Oracle 10g). When this entity is queried via
HQL, prefix for this entity is missed. Following SQL query is produced:
Hibernate:
/*
from
Period p */ select
*
from
( select
period0_.ID as ID44_,
period0_.TXN_VER as TXN3_44_,
period0_.FROM_DATE as FROM4_44_,
TO_DATE as TO5_44_,
period0_.POSITION_MONTH as POSITION7_44_,
period0_.IS_CLOSE as IS12_44_,
period0_.IS_OPEN as IS13_44_,
period0_.DISC_TYPE as DISC2_44_
from
SOME_SCHEMA.T_PERIOD period0_ )
where
rownum <= ?
This leads to database error in case of more advanced query (with joins etc). For
example, we have following error in production: java.sql.SQLException: ORA-00918: column
ambiguously defined
Probably the reason of this behaviour is that Hibernate tries to interpret
'TO_DATE' as the name of SQL function.
In Hibernate 3.3.2.GA prefix is added correctly.
Domain object, DAO, Test and Hibernate configuration are in the attachment.
I used Spring framework to configure test.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: