]
Steve Ebersole closed HHH-1603.
-------------------------------
Resolution: Duplicate
ANSI cross join - SQL Server 2000
---------------------------------
Key: HHH-1603
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1603
Project: Hibernate Core
Issue Type: Bug
Components: query-hql
Affects Versions: 3.1.2
Environment: SQL Server 2000 and org.hibernate.dialect.SQLServerDialect
Reporter: amit bhayani
Attachments: ANSIJoinFragment.java, ANSIJoinFragment.java.patch
There is a scope issue with cross joins generated by hibernate for SQL Server 2000. Below
shown two cross join examples, the first is analogous to a cross join generated by
hibernate which uses non-standard syntax, and the the second uses ANSI syntax.
org.hibernate.dialect.SQLServerDialect uses org.hibernate.sql.ANSIJoinFragment to generate
the cross join. Shouldn't ANSIJoinFragment use ANSI syntax? (" cross join "
vs. ", "). See the attached suggested patch to Hibernate 3.1.2.
-- Non-standard cross join syntax (doesn't work)
-- Server: Msg 107, Level 16, State 2, Line 1
-- The column prefix 'pt' does not match with a table name or alias name used in
the query.
select vpp.*, pt.*
from xVS_PriceType pt, xVS_Product vp
left join xVS_Price vpp on vpp.product_id = vp.id and vpp.priceType_id = pt.id
-- ANSI cross join syntax (works)
select vpp.*, pt.*
from xVS_Product vp cross join xVS_PriceType pt
left join xVS_Price vpp on vpp.product_id = vp.id and vpp.priceType_id = pt.id
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: