Hunsberger, Peter dijo: > Sylvain Wallez <[EMAIL PROTECTED]> writes: >> >> Hunsberger, Peter wrote: >> >> >>I have been thinking about the direct sql mapping on and off, the >> biggest problem I was able to identify (not solve) is that >> sql is not >> >>'symmetric' in its load and save operations (while woody binding is) >> >> >> >>with symmetric I mean for doing updates or inserts you >> can't just give >> >>a resultset back to the JDBC connection... >> >> >> >> >> >> >> > >> >Well, you can if your JDBC drivers support it. In >> particular, look at >> >sql.ResultSet.CONCUR_UPDATABLE (and the updateXYZ methods) >> which lets you make a record set updatable so that you can >> edit directly and the send it back to the database. This >> requires JDBC 1.2. However, I know you really don't want to >> keep a resultSet open across a Web transaction and I believe >> this feature requires that the retrieve/update all occur >> within the same SQL transaction so I believe that rules it out.... >> > >> > >> >> Exactly. Keeping an open SQL connection during a web interaction is >> waaaay dangerous. > > Well, I'd say more like just plain dumb ;-) However, it occurs to me > that you could fake this one level down from the forms handler (making > it appear symmetrical to the forms handler): > > 1) Retrieve the resultSet, close the connection, but save the result set > (continuation?) > 2) When the Web client comes back retrieve a new result set. Walk the > two result sets > and compare and reconcile any differences, updating the newly > retrieved result set as appropriate. > 3) Send the new result set back. > > In general, this moves the responsibility for locking up a level which > isn't something I'd care to code, but if you're going to use JDO I > believe you'll just get a last change wins result anyways, which is how > you could manage this...
Yep. This is exactly what I am doing right now. But I am research a more elegant solution. Best Regards, Antonio Gallardo
