What version of AppFuse are you using? You might want to compare your code with the latest in Subversion.
Matt On 7/16/07, Mel Pison <[EMAIL PROTECTED]> wrote:
Hi All, I have some problem again regarding with updating of user object in the database. I could add new records now, but my problem is like this. When I try to edit a user information it could update the user in database, and it will go to the same page where i edited the user information. but after i press the save button to update the user I get an error message saying Object of class [com.voxsant.thinkscan.model.User] with identifier [3]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.voxsant.thinkscan.model.User#3] Michael Horwitz wrote: > The key error here is "Duplicate entry 'admin' for key 2". It looks as > if you are trying to save a user who already exists. Normally this > happens because you do not have a field in your form for the user id > (this should be a hidden field). As a result, when your request goes > back to Hibernate it thinks you are persisting a new user rather than > updating an existing one. > > Mike. > > On 7/12/07, *Mel Pison* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > I am using appfuse 1.9x and webwork as the web framework Regarding > my problem, I'm using the same object (User) from the example on > appfuse. I cant update the information of the User object on the > database on my application and throws some errors. Heres some part > of those errors in tomcat after trigerring the save button to > update the user profile on database. > [Thinkscan] DEBUG [http-8080-Processor24] > UserDaoHibernate.saveUser(49) | user's id: 2 > [Thinkscan] WARN [http-8080-Processor24] > JDBCExceptionReporter.logExceptions(71) | SQL Error: 1062, > SQLState: 23000 > [Thinkscan] ERROR [http-8080-Processor24] > JDBCExceptionReporter.logExceptions(72) | Duplicate entry 'admin' > for key 2 > [Thinkscan] WARN [http-8080-Processor24] UserAction.save(154) | > User 'admin' already exists! > [Thinkscan] WARN [http-8080-Processor24] > DefaultActionInvocation.executeResult(313) | > No result defined for action > com.voxsant.thinkscan.webapp.action.UserAction and result input > > I tried to test it for each tier and heres what ive got > * * Dao test** > [Thinkscan] INFO [main] UserDaoTest.loadContextLocations(136) | > Loading context for: > > classpath*:/**/dao/applicationContext-*.xml,classpath*:META-INF/applicationContext-*.xml > > [Thinkscan] INFO [main] UserDaoTest.startNewTransaction(309) | > Began transaction (1): transaction manager > > [EMAIL PROTECTED]; > default rollback = true > [Thinkscan] WARN [main] UserDaoHibernate.getUser(30) | uh oh, > user '1000' not found... > [Thinkscan] INFO [main] UserDaoTest.endTransaction(275) | > Rolled back transaction after test execution > [Thinkscan] INFO [main] UserDaoTest.startNewTransaction(309) | > Began transaction (1): transaction manager > > [EMAIL PROTECTED]; > default rollback = true > [Thinkscan] INFO [main] UserDaoTest.endTransaction(275) | > Rolled back transaction after test execution > [Thinkscan] INFO [main] UserDaoTest.startNewTransaction(309) | > Began transaction (1): transaction manager > > [EMAIL PROTECTED] > ]; default rollback = true > [Thinkscan] DEBUG [main] UserDaoHibernate.saveUser(49) | user's > id: 1 > [Thinkscan] INFO [main] UserDaoTest.endTransaction(275) | > Rolled back transaction after test execution > [Thinkscan] DEBUG [main] UserDaoHibernate.saveUser(49) | user's > id: null > [Thinkscan] WARN [main] JDBCExceptionReporter.logExceptions(71) > | SQL Error: 1062, SQLState: 23000 > [Thinkscan] ERROR [main] > JDBCExceptionReporter.logExceptions(72) | Duplicate entry 'user' > for key 2 > [Thinkscan] DEBUG [main] UserDaoTest.testUpdateUser(60) | > expected exception: could not insert: > [com.voxsant..voxsant.thinkscan.model.User ]; nested > exception is org.hibernate.exception.ContraintViolationException: > could not insert: [com.voxsant.thinkscan.model.User] > > **Action test* -- *UserExistsException was thrown > error on saving user /*** I printed it to console to > test if an error occurred > WARN [main] UserAction.save(154) | User 'user' already exists! > Saving user > DEBUG [main] UserDaoHibernate.saveUser(49) | user's id: 1 > DEBUG [main] UserSecurityAdvice.afterReturning(118) | > Removing 'user' from userCache added user > DEBUG [main] UserManagerImpl.removeUser(67) | removing user: 2 > > * *Service test** > [copy] Copying 2 files to > C:\thinkscan\build\test\service\classes > Testsuite: com.voxsant.thinkscan.service.UserManagerTest > [Thinkscan] DEBUG [main] UserManagerImpl.removeUser(67) | > removing user: 5 > [Thinkscan] DEBUG [main] > UserManagerTest.testUserExistsException (124) | expected > exception: User 'admin' already exists! > Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 0.969 sec > ------------- Standard Output --------------- > [Thinkscan] DEBUG [main] UserManagerImpl.removeUser (67) | > removing user: 5 > [Thinkscan] DEBUG [main] > UserManagerTest.testUserExistsException(124) | expected exception: > User 'admin' already exists! > * *It seems that my problems are more likely in saving(Dao) > but I already compared my java classes to the original java files > from the appfuse and they look the same. I still dont know the > problem :D. I could add new records to user's table but i cant > update it after inserting a record on my application > Please suggest some solutions. Thanks! :D > > > Michael Horwitz wrote: >> Which version of AppFuse and which web frontend are you using? >> Some more details on the exact nature of the problem would also >> be useful: when you say can't update, do you mean the data does >> not appear in the database or is an exception raised? Have you >> got unit tests for each tier and are they passing? >> >> Mike. >> >> >> On 7/12/07, **Mel Pison** <[EMAIL PROTECTED] >> <mailto:[EMAIL PROTECTED]> >> <mailto:[EMAIL PROTECTED]>> wrote: >> >> Hi All, >> >> Good Day everyone! >> >> I'm new here and I'm just starting in j2ee. I'm currently >> creating >> the >> same application from the tutorials(Person and User objects). I >> followed >> the steps from the tutorial and I already have a User object >> and I >> want >> to manipulate this object but I'm still encountering some >> problems. I >> just copied all the needed files for the User object from the >> myapp >> sample and I made some modifications on jsp files for viewing >> the user >> information. I could add a new record of user to my >> application but I >> cant update the user information including the new roles for >> a user. I >> already compared all my java files for users to the tutorials >> java >> files >> and it seems that there are no errors on that. I cant use the >> update >> functionality. >> >> Please suggest some solutions. Thanks! :D >> >> Regards, >> Mel Pison >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: >> [EMAIL PROTECTED] >> <mailto:[EMAIL PROTECTED]> >> <mailto:[EMAIL PROTECTED]> >> For additional commands, e-mail: >> [EMAIL PROTECTED] >> <mailto:[EMAIL PROTECTED]> >> <mailto:[EMAIL PROTECTED]> >> >> > > > >
-- http://raibledesigns.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]