Hi forum! I'm trying to write a small application for testing and learning...
I've created an entity (useraccount) with a unique constraint on firstname. To test it, I wrote a small junit test which gets the reference via jndi lookup. Insert a new useraccount is no problem. So I tried to test the unique constraint. As it should, I get an exception if I try to persists a second, identical useraccount. But I'm not able to catch the exception.... I thought, that it would be a good idea, to throw some exeptions when for example an identical useraccount should be persist, but atm I don't know, how get this running... I also found this post: http://www.jboss.org/index.html?module=bb&op=viewtopic&t=71611&start=0&postdays=postDays&postorder=postOrder&highlight=highlight but I didn't figure out, what I've done wrong... Jboss 5.0.0.GA, ejb3 best regards, Andre Exception in serverlog: | 19:11:47,775 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: null | 19:11:47,776 ERROR [JDBCExceptionReporter] Batch-Eintrag 0 insert into t_useraccount (version, disabled, personOfUserAccount, userlogin, userPassword, id) values (NULL, 0, NULL, foo, bar, 2) wurde abgebrochen. Rufen Sie 'getNextException' auf, um die Ursache zu erfahren. | 19:11:47,776 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: 23505 | 19:11:47,776 ERROR [JDBCExceptionReporter] FEHLER: doppelter Schluesselwert verletzt Unique-Constraint ût_useraccount_userlogin_keyë | 19:11:47,776 ERROR [AbstractFlushingEventListener] Could not synchronize database state with session | org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update | at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94) | at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) | at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275) | at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266) | at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167) | | [.......] | My SLSB: | public Integer saveUserAccount(UserAccount userAccount) throws UserAccountAlreadyExistException { | | try { | em.persist(userAccount); | em.flush(); | return userAccount.getId(); | } | catch (EntityExistsException eee) { | throw new UserAccountAlreadyExistException(); | } | catch (ConstraintViolationException e) { | throw new UserAccountAlreadyExistException(); | } | | } | UserAccountAlreadyExistException: | @ApplicationException(rollback=true) | public class UserAccountAlreadyExistException extends Exception { | | private static final long serialVersionUID = 1L; | | public UserAccountAlreadyExistException() { | super(); | } | | public UserAccountAlreadyExistException(String s) { | super(s); | } | } | View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4213959#4213959 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4213959 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
