Hi Emmanuel,

IMO it's not good to mix the PB and ODMG API in this way.
It's really difficult to read.

And the locking really doesn't help you in this case, as you change the Identity of the object in the next line:
objectUpdated.setId_pk(aclModel.getId());


cheers,
thomas

Emmanuel Dupont wrote:
Last question Thomas, please,

Does that make sens to use the broker.store method inside an ODMG
transaction but not commit this ODMG transaction at the end to p^revent the
insert in database.

Like this :


tx = getNewTransaction(); broker = ((HasBroker) tx).getBroker(); broker.beginTransaction(); objectUpdated = new Acl_acl_access_control_list(); tx.lock(objectUpdated, JwtTransaction.WRITE);

objectUpdated.setId_pk(aclModel.getId());       
objectUpdated.setName("myName");

broker.store(objectUpdated);
                        
broker.commitTransaction();

// Close the transaction
tx.abort();  // or tx.leave();

I use the ODMG API only to lock the "objectUpdated" during the update....

Instead I have to use ODMG completely without broker.store(), which is very
useful !

What do you think ?


-----Message d'origine-----
De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Envoyé : jeudi 19 juin 2003 13:08
À : OJB Users List
Objet : Re: RE : RE : Updating Objects


Hi again,

Emmanuel Dupont wrote:

I tested with: broker.store(instance) and with an ODMG query who look in

the


database if the object is already present or not before inserting it.

It seems that (via P6Spy) the first choice (broker.store) has better
performance.


OQL queries are slower than PB queries, because they have to be parsed first.


Why do you think Thomas that the second choice (query the existence or not
for each object Updated in database via ODMG API before insert it) must be
preferred ?


I don't think the second choice is better!




-----Message d'origine-----
De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Envoyé : jeudi 19 juin 2003 11:28
À : OJB Users List
Objet : Re: RE : Updating Objects


Hi

Emmanuel Dupont wrote:


Hi Thomas, Hi Eric

I understand that OJB doesn't mind about this update method but what about
the database?

If I create a new Object with the same Id (witch is the corresponding
primary key ID) and I persisting it, I have a "Double PRIMARY KEY

constraint



ERROR" in my database.


If you call broker.store(instance) OJB will check if the instance is already present in the db. In Erics example it will perform an UPDATE, not an INSERT!



So it is not possible to use this method ......No?


-----Message d'origine-----
De : Mahler Thomas [mailto:[EMAIL PROTECTED] Envoyé : mercredi 18 juin 2003 16:40
À : 'OJB Users List'
Objet : RE: Updating Objects


Hi Eric,




Is it appropriate to update a persisted object by creating an new object
with same id as the persisted object and then persisting the new object?


I don't think this is "best practise". But there may be reasons to such
things...
At least from an OJB point of view I see no harm...

cheers,
thomas




In
case your curious, it does properly update the database.


Eric





DISCLAIMER: The information contained in this e-mail is, unless otherwise
indicated, confidential and is intended solely for the use of the named
addressee. Access, copying or re-use of the e-mail or any information
contained therein by any other person is not authorized. If you are not the
intended recipient please notify us immediately by returning the e-mail to
the originator.





--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]





--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]





--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to