We recently converted our EJB2.1 application to EJB3 (
Jboss 4.2.CP07) and landed in to a problem with EntityExistsException Vs DuplicateKeyException (EJB2).
Earlier with EJB2 we were able to do operation like
try{
<EntityHome>.create(<some object>);
} catch (DuplicateKeyException ex) {
Do some other task ..involving database
}
When we converted to EJB3 ..the code looks like below
try{
em.persist(<some PO>);
} catch (EntityExistsException ex) {
Do some other task ..using em
}
In second case we learnt that we couldn't do any more operations on the em as the transaction is closed, is this the expected behavior?
If yes can anyone please suggest a different way to handle these scenarios ?