[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1395?page=c...
]
Joonas Koivunen commented on HHH-1395:
--------------------------------------
Has anyone made progress on Christians first version? It looks good, but it's lacking
the ability of moving trees which I'm having trouble implementing.
It'd seem that post-update event is *not* the way to go.
Hierarchical entity data management using 'modified preorder
tree traversal algorithm' (nested set trees)
----------------------------------------------------------------------------------------------------------
Key: HHH-1395
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1395
Project: Hibernate Core
Issue Type: New Feature
Components: core, query-hql
Environment: Hibernate 3.1 plus Annotations extending EJB3 implementation
Reporter: James Salt
Attachments: nestedset.tar.gz
Original Estimate: 3 weeks
Remaining Estimate: 3 weeks
An enhancement to allow entities to exist in a managed tree (DAG) structure, via the use
of property annotations and entity annotations. With an extension to the HQL language to
mimic the Oracle recusive query clause.
This would be classically be useful for Bill of Material uses, or any tree like entity
structure.
I have implemented a homebrew approach using the 'adjacency list method' , and a
post persist call back method to set the node path. Although I think a more full blown
optimised algorithm would be the 'modified preorder tree traversal algorithm'.
In the annotations world this could be implemented using an annotation like @Hierarchical
to the entity, with a @Parent (mask for @ManyToOne) annotation on the parent
field/parameter and @Children (mask for @OneToMany) annotation on the list of children
entities.
Then a postupdate method could be implemented for the entity type, that recalculates the
tree meta data -i.e. parent, left and right.
I believe this would be a valuable extension (useful for many common data models) to the
hibernate core product that could be exposed through annotations as I have discussed and
the hbm.xml.
The users of such a system would be aware of the performance implications on
insert/update/delete, but gain a massive performance gain on querying a tree data model.
--
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....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira