Hey Jeff, just curious if you've got any updated HibernateAssembler
code with some fixes? Any idea when this would be available?

thanks,
PW

--- In [email protected], "Jeff Vroom" <[EMAIL PROTECTED]> wrote:
>
> My apologies - this does look like a bug.   I need to do more testing on
> this case myself, but I think one of the big problems here is that we
> are trying to do conflict detection on our own in the hibernate
> assembler's updateItem method.  Unless you are using a strict isolation
> level in your DB (repeatable read or serializable) this is not going to
> be transactionally correct anyway since the DB version can be modified
> after we have executed the query and before we do our update.   We
> probably should not be getting the server version at all... hibernate
> has its own optimistic concurrency support that we should be using if it
> is enabled.   That is probably the only way to get atomic conflict
> detection without resorting to using those particularly slow isolation
> levels.  
> 
>  
> 
> That would potentially get rid of the conflicting version of the item in
> the transaction.  The other thing I need to look into is the "merge"
> method in hibernate.  Seems like we should probably be using that in the
> updateItem method?   I'll be working on this next week so will send out
> any updates I can to the code.
> 
>  
> 
> Jeff
> 
>  
> 
> ________________________________
> 
> From: [email protected] [mailto:[EMAIL PROTECTED] On
> Behalf Of parkerwhirlow
> Sent: Thursday, February 01, 2007 6:05 PM
> To: [email protected]
> Subject: [flexcoders] FDS/Hibernate Sample of updating hierarchical list
> of values
> 
>  
> 
> 
> Hi all,
> 
> I have been tearing my hair out trying to get FDS/Hibernate to update
> a hierarchical list of values. Even the simplest of collection
> mappings in Hibernate cause various exceptions when trying to update.
> 
> Before I post my details, does anyone have any examples of this that
> work? Has anyone ever even gotten this to work?
> 
> I have two objects mapped in Hibernate:
> 
> - Family
> ----Person
> 
> where a Family has a Set of Person "familyMembers".
> 
> My FDS destination is to Family, and I am trying to update a family
> member (just the name) through this destination.
> 
> First, I was getting Hibernate NonUniqueObjectException, which I
> finally tracked down to having my hibernate collection mapping set to
> lazy=false This caused all of the family member Person objects to be
> loaded into the PersistenceContext when the HibernateAssembler loaded
> the "serverVersion" of the Family. 
> 
> Then, once I set lazy=true on the collection mapping, I was getting an
> exception that "A collection with cascade="all-delete-orphan" was no
> longer referenced by the owning entity instance"... since it is
> assigning a whole new collection to the familyMembers property one
> becomes unreferenced, and the other referenced. Sooo I can't use
> delete orphan to delete the family members when the family is
> deleted... OK. So then I make cascade="all".
> 
> Now I'm getting "ORA-01407: cannot update
> ("SCHEMA"."T_PERSON"."FAMILYID") to NULL"... I'm guessing that it's
> processing the dereferenced collection first (trying to detatch any
> Person's from the family before they're re-attached by the new
> collection. I can't believe this is so difficult...
> 
> For more info on my setup and test case, please see my original post:
> http://tech.groups.yahoo.com/group/flexcoders/message/63308
> <http://tech.groups.yahoo.com/group/flexcoders/message/63308> 
> 
> any comments as to if anyone has done this successfully are greatly
> appreciated!
> 
> thanks,
> PW
>


Reply via email to