Hi.

On Thu, Jul 19, 2012 at 2:56 PM, José Luis Cetina <maxtorz...@gmail.com>wrote:

> Hi im triying to handle a constraint violation but i dont know how..
>
> In my EJB i have this:
>
> try {
>             UserTransaction userTransaction =
> ejbContext.getUserTransaction();
>             userTransaction.begin();
>             em.remove(anyObject);
>             userTransaction.commit();
>      }
> catch(Exception ex){
>    //WHAT DO I HAVE TO DO HERE, FOR HANDLE THE CONSTRAINT VIOLATION???
> }
>
> The exception class is:  javax.transaction.RollbackException
>
> [skipped]

>
>
> I know this exception is because im triying to delete a child before
> delete his parent, what i want is to check if my object has a
> reference in other table (i dont want to use a SELECT for each table)
> that's why i want to handle a constraint violation (can be only the:
> Cannot delete or update a parent row: a foreign key constraint fails.)
> how can i do this?
>

You should do the select. The database will effectively do a select anyway,
to do the constraint check, you are not introducing much overhead.

There are certain databases, and certain drivers, that will not tolerate
any data exception inside a transaction, and will mark the whole
transaction as "roll back only" should any data exception occur.

[skipped]


> Im using JTA and OpenJPA 2.2.0
>
> Thanks.
>
>

Reply via email to