[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-4030) Implement support for native recursive query functionality of popular DBMSes
Josh Moore (JIRA)
noreply at atlassian.com
Tue Jul 7 14:03:14 EDT 2009
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-4030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33562#action_33562 ]
Josh Moore commented on HHH-4030:
---------------------------------
If it's of interest: http://developer.postgresql.org/pgdocs/postgres/queries-with.html
> Implement support for native recursive query functionality of popular DBMSes
> ----------------------------------------------------------------------------
>
> Key: HHH-4030
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-4030
> Project: Hibernate Core
> Issue Type: New Feature
> Components: core, query-hql, query-sql
> Environment: Hibernate 3.3.2, MSSQL
> Reporter: David Cracauer
>
> We have a couple of areas in our system where need to load tree structures from our database. These trees can be very deep (often 20+ levels). SQL Server 2005 introduced Common Table Expressions, a kind of in-line view that can be used recursively.
> These allow us to quickly get a result set like this:
> id, label, parentId
> 1, foo, null
> 2, foo2, 1
> 3, foo3, 2
> 4, foo4, 2
> 5, foo5, 4
> 6, foo6, 1
> From a tree like this:
> [1, foo]
> |
> | -[2, foo2]
> | | - [3, foo3]
> | | - [4, foo4]
> | | - [5, foo5]
> |- [6, foo6]
> using a query like this (not tested):
> with MyCTE(
> id,
> label,
> parentId)
> as
> ( select n.id, n.label, n.parentid
> from Node n
> UNION ALL
> select c.id, c.label, c.parentId
> from MyCTE c
> inner join Node n on n.id=c.parentId)
> select * from MyCTE
> It happens many times more quickly than we've been able to load the graphs with Hibernate, even using batching etc.
> We've tried using hibernate's built in native sql support without success. The alias injection breaks the Common Table Expression definition ( with MyCTE ), as it is a view definition and doesn't allow for the 'id as id_276' syntax, rather requiring just a column name.
> I know that there are several other major DBMSes that support recursive querying now. Is there a way to have support for this functionality in hibernate core?
--
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