FAQ
Try calling context.rollbackChanges() or just create a new context and
start over.

On Mon, Apr 11, 2016 at 10:31 AM Juan Manuel Diaz Lara
wrote:

I am using 4.0.M3.
I used the following solution, but the problem is that after
commitChanges() the dataobjetcs are set to PersistenceState.COMMITED, if
the stored procedure fails Cayenne does a DB rollback (that's ok), but
dataobjects stay COMMITED, so I can not retry the this transaction after
errors are solved.
Is there any way to revert the persistenceState to their values before
commitChanges if I detect the stored procedure failed ?

cayenneRuntime.performInTransaction(new
TransactionalOperation<Integer>()
{

@Override
public Integer perform() {
context.commitChanges();
//...
SQLTemplate s = new SQLTemplate("SELECT
pkg_inventario_fisico.apply( #bind($idAlmacen, 'VARCHAR')) AS id", true);
s.setParamsArray(a);
@SuppressWarnings("unchecked")
List<DataRow> rows =
CayenneDao.instance.context.performQuery(s);
DataRow row = rows.get(0);
//...
return null;
}

}
);
Atte. Juan Manuel Díaz Lara

On Monday, April 11, 2016 10:06 AM, Mike Kienenberger <
mkienenb@gmail.com> wrote:


See the bottom part of this page starting at "In the second scenario":


https://cayenne.apache.org/docs/4.0/cayenne-guide/persistent-objects-objectcontext.html#transactions


On Mon, Apr 11, 2016 at 10:54 AM, Juan Manuel Diaz Lara
wrote:

I have a dataobjet graph with some changes, and a db stored procedure
that should run after this changes are in the db, but must run in the same
transaction because it make some more changes to other data, this changes
can fail so I want the commitChanges fail if the stored procedure fails.
Atte. Juan Manuel Díaz Lara


Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 4 of 14 | next ›
Discussion Overview
groupuser @
categoriescayenne
postedApr 11, '16 at 2:55p
activeApr 19, '16 at 12:41a
posts14
users6
websitecayenne.apache.org

People

Translate

site design / logo © 2021 Grokbase