I have been trying to use the replicate, but the documentation is sparse and I think I am missing the point.
Can you shoot me off a sample usage? existingItem = (DblInventory)session.load(DblInventory.class, dblItem.getSku()); session.replicate(existingItem, ReplicationMode.OVERWRITE); session.update(myItem); /// where myItem is a manually created DblInventory item // i.e. myItem = new DblInventory(sku, name, desc) I am still getting: 'Another object was associated with this id' I am definately not using this as intended. Cheers ----- Original Message ----- From: "Gavin King" <[EMAIL PROTECTED]> To: "Troy McKinnon" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Sunday, November 02, 2003 8:45 PM Subject: Re: [Hibernate] updating exiting objects with a new clone > Oh, P.S. perhaps what you are looking for /is/ just the replicate() > method. Check out the various ReplicationModes. > > Troy McKinnon wrote: > > >Gavin, > > > >Sorry to 'steam you up' > > > >But I am trying to get to the bottom of this 'without' using hibernate > >'wrong'. > > > >The exists method isn't quite what I am looking for - like you said - > >saveOrUpdate would accomplish the same. > >My issue is a little different. I don't have a object from a previous > >transaction; if that was the case I wouldn't have an issue. > >Completely Understand That. > > > >And what I am trying to do is probably breaking the concept, but I don't > >think so. > > > >Really all I want is to be able to do the same thing with a manually built > >object. > > > >i.e. I can do it manually by getting the object1 from transaction, then > >using BeanUtils (or similar) to copy all the values from my object to the > >'loaded' one. But it just seems like a messy solution, especially in a > >loop. > > > >It is your framework, so its your call. But it doesn't seem to me a BAD > >thing to be able to use an object not gotten via a hibernate transaction and > >us it with a hibernate transaction. What if there was some none Hibernate > >controller method etc that return a MyObject value that I wanted to use and > >persist in my Hibernate implemention. If the object didn't already exist in > >the session I don't see a problem with having Hibernate 'check' if it exists > >and USE this object as if it had been loaded. > > > > > >Cheers > > > >Troy > >----- Original Message ----- > >From: "Gavin King" <[EMAIL PROTECTED]> > >To: "Troy McKinnon" <[EMAIL PROTECTED]> > >Cc: <[EMAIL PROTECTED]> > >Sent: Sunday, November 02, 2003 8:09 PM > >Subject: Re: [Hibernate] updating exiting objects with a new clone > > > > > > > > > >>Grrrr I hate this. I think it almost always indicates that you are > >>using Hibernate "wrong". You should be able to do these kind of things > >>using saveOrUpdate(); thats what its there for. Get the object in the > >>/previous/ transaction, set its state, and then call saveOrUpdate(). > >> > >>Now, I can incredibly easily implement a Session.exists() method, but I > >>think it would encourage bad practice. > >> > >>You can implement it yourself, of course, by doing a query like: > >> > >>s.find("select mi.id from MyItem mi where mi.id = ?", id, > >>Hibernate.LONG).size()==0 > >> > >> > >>Troy McKinnon wrote: > >> > >> > >> > >>>http://forum.hibernate.org/old/914765.html talks around the issue I am > >>>having but it doesn't really solve anything. > >>> > >>> > >>>We start with an object manually created. > >>> > >>> > >>>>> MyItem myItem = new MyItem(id, name, desc); > >>>>> > >>>>> > >>>I then check to see if it already exists. To determine if I want to > >>>do an update or a save. > >>> > >>> > >>> > >>>>> MyItem fromDatabase = (MyItem)session.load(MyItem.class, > >>>>> > >>>>> > >>>dblItem.getId()); > >>> > >>>If fromDatabase existed, I want to update it with the data from myItem. > >>>Because you can't just do an update(myItem) since fromDatabase is > >>>already loaded. > >>>(Note: you can't do a update(myItem) even if you hadn't called the > >>>load - because the session doesn't recognise it to update.) > >>>The only way I can see doing this now is to transfer the field values > >>>from myItem to fromDatabase. > >>>(Note: using the reflect package to do this is fairly trivial - but > >>>just more work ) > >>> If there was some way to updateSimilar or updateFromClone or similar > >>>method that would allow an update with a different object, that would > >>>be nice to have. > >>> > >>> > >>> > >>>Cheers > >>> > >>>Troy > >>> > >>> > >>> > >> > >> > > > > > >------------------------------------------------------- > >This SF.net email is sponsored by: SF.net Giveback Program. > >Does SourceForge.net help you be more productive? Does it > >help you create better code? SHARE THE LOVE, and help us help > >YOU! Click Here: http://sourceforge.net/donate/ > >_______________________________________________ > >hibernate-devel mailing list > >[EMAIL PROTECTED] > >https://lists.sourceforge.net/lists/listinfo/hibernate-devel > > > > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: SF.net Giveback Program. > Does SourceForge.net help you be more productive? Does it > help you create better code? SHARE THE LOVE, and help us help > YOU! Click Here: http://sourceforge.net/donate/ > _______________________________________________ > hibernate-devel mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/hibernate-devel > ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ hibernate-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hibernate-devel