Sorry, through = true

with regards
Sven Homburg
Founder of the Chenille Kit Project
http://chenillekit.codehaus.org




2010/2/8 Sven Homburg <hombu...@googlemail.com>

> Firlefanz!
>
> Of couse, Urlich sayed the through, but in this context its not right.
> Dominik, dont @Persist-ing the entity, you will see, it works.
>
> with regards
> Sven Homburg
> Founder of the Chenille Kit Project
> http://chenillekit.codehaus.org
>
>
>
>
> 2010/2/8 Ulrich Stärk <u...@spielviel.de>
>
> You really should consult Hibernate's documentation and especially
>> understand the persistent object lifecycle (Java Persistence with Hibernate
>> is an excellent book). Saving an object will persist it to the database
>> (probably including generating an ID and updating the object). Saving it
>> again will try to save an object with the same ID to the database - thus the
>> error. What you want is something like Hibernate's update() or
>> saveOrUpdate() or JPA's merge().
>>
>> Uli
>>
>> On 08.02.2010 11:39 schrieb Dominik Gätjens:
>>
>>  for sure, but if i persist an object in the http session, i've got the
>>> same object again after page reload? So i should be able to save it in the
>>> hibernate session because it is the same Object?
>>>
>>> e.g.
>>> first page load ->  get ObjectA from DB ->  save ObjectA in http-Session
>>> second page load ->  get ObjectA from http-Session ->  save ObjectA in DB
>>>
>>> but this throws an "a different object with the same identifier value was
>>> already associated with the session:" Exception.
>>>
>>>
>>> So according to Jose i don't get the right Object (that is bound to the
>>> hibernate-session) from the http-session!?
>>>
>>>
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Ulrich Stärk [mailto:u...@spielviel.de]
>>> Gesendet: Montag, 8. Februar 2010 11:31
>>> An: Tapestry users
>>> Betreff: Re: AW: Updating Hibernate Entites
>>>
>>> @Persist is for persisting objects in the Http session, not for
>>> persisting entities in a database.
>>>
>>> Uli
>>>
>>> On 08.02.2010 10:28 schrieb Dominik Gätjens:
>>>
>>>> I'm using the chenillekit hibernate daos, and there is no explicit
>>>> update method, so i thought save() should do this job.
>>>>
>>>> I don't understand why there is a new Object if I annotade the config
>>>> with @Persist. Shouldn't it be saved in the Session?
>>>>
>>>> btw: i found a possible solution with page activation context:
>>>>
>>>>        void onActivate(Long configId){
>>>>                        config=configDAO.doRetrieve(configId,false);
>>>>
>>>>        }
>>>>         Long onPassivate(){
>>>>                        return config.getId();
>>>>        }
>>>>
>>>> but I still want to know why it won't work with @Persist?
>>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: Jose Luis Sanchez [mailto:joseluis.sanc...@m-centric.com]
>>>> Gesendet: Montag, 8. Februar 2010 10:21
>>>> An: Tapestry users
>>>> Betreff: Re: Updating Hibernate Entites
>>>>
>>>> You are trying to save  a new object while using the old object id ,
>>>> what would end in two entities with same id - something not possible.
>>>> You should  call your DAO update method , instead of save.
>>>>
>>>>
>>>>  Hello List,
>>>>>
>>>>>
>>>>>
>>>>> i'm trying to update an Hibernate-Object but alway get an "a different
>>>>> object with the same identifier value was already associated with the
>>>>> session:" Exception.
>>>>>
>>>>>
>>>>>
>>>>> My Form-Code looks like:
>>>>>
>>>>> @Inject
>>>>>
>>>>>         private ConfigurationDAO configDAO;
>>>>>
>>>>> @Persist
>>>>>
>>>>>         @Property
>>>>>
>>>>>         private Configuration config;
>>>>>
>>>>>
>>>>>
>>>>>         void onSuccessFromConfigForm(){
>>>>>
>>>>>               config.setEditDate(new Date());
>>>>>
>>>>>               configDAO.doSave(config);
>>>>>
>>>>>         }
>>>>>
>>>>>
>>>>>
>>>>>         void onActivate(Long configId){
>>>>>
>>>>>               config=configDAO.doRetrieve(configId,false);
>>>>>
>>>>>         }
>>>>>
>>>>>         void onActivate(){
>>>>>
>>>>>               configs = configDAO.findAll();
>>>>>
>>>>>               if(config==null)
>>>>>
>>>>>                     config=new
>>>>> de.leomedia.leotipp.model.Configuration();
>>>>>
>>>>>         }
>>>>>
>>>>>
>>>>>
>>>>> can anyone give me a lead into the right direction?
>>>>>
>>>>>
>>>>>
>>>>> thanks, Dominik
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>>
>

Reply via email to