This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Object Relational Mapping and the fly likes Cast Entity association collection to implementation type Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "Cast Entity association collection to implementation type" Watch "Cast Entity association collection to implementation type" New topic
Author

Cast Entity association collection to implementation type

Vignesh MPN
Greenhorn

Joined: Dec 06, 2005
Posts: 3
Persistence Provider: JBoss Hibernate

I have an entity with a one-to-many association. For my business logic, I want the collection implementation type to be a TreeSet as I can sort it.


Let's say I persist the entity and so it becomes managed. When the entity becomes managed, the persistence provider replaces the collection implementation with its custom implementation org.hibernate.collection.PersistentSet. Now if I do any TreeSet operation on my collection, it does not work as the collection implementation type is not a TreeSet anymore.

But I do want my collection implementation to be a TreeSet even in a managed entity. I know I can not cast org.hibernate.collection.PersistentSet to java.util.TreeSet.

Why do we have such restriction in implementation? Why can't the persistence provider (Hibernate) use TreeSet as the implementation type?

I do not want my code to be dependent on vendor-specific implementation like PersistentSet or PersistentSortedSet. Is there a solution to this? Is there a way to use a java.util.* collection implementation in a managed entity?

I would appreciate any help.

Thanks
Vignesh
Cameron Wallace McKenzie
author and cow tipper
Saloon Keeper

Joined: Aug 26, 2006
Posts: 4968
    
    1

What is the exception that you are getting when you do the operation? I think we can get around this problem.

Have you got the exception and perhaps the first line or two from the stack trace?

-Cameron McKenzie
Vignesh MPN
Greenhorn

Joined: Dec 06, 2005
Posts: 3
Apologize for not providing enough information.

I have missed some information in my original post too. I have updated the original post as well.

I have declared the collection as type java.util.Set, so I will need to typecast the collection to java.util.TreeSet or java.util.SortedSet before invoking the operation.



The exception:

 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Cast Entity association collection to implementation type
 
Similar Threads
One to Many Association Using Map
Hibernate Association
updating association table
Hibernate Association
Passed SCBCD 5.0 :)