Java Mailing List Archive

http://www.gg3721.com/

Home » Hibernate Issues List »

[hibernate-issues] [Hibernate-JIRA] Updated: (HHH-1268)
Unidirection OneToMany causes
duplicate key entry violation when removing from list

Anupam M (JIRA)

2008-08-13

Replies: Find Java Web Hosting

Author LoginPost Reply

  [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gail Badner updated HHH-1268:
-----------------------------

  Fix Version/s:   (was: 3.2.x)

> Unidirection OneToMany causes duplicate key entry violation when removing from list
> -----------------------------------------------------------------------------------
>
>           Key: HHH-1268
>           URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1268
>         Project: Hibernate3
>       Issue Type: Bug
>   Affects Versions: 3.1
>      Environment: 3.1 final
> MySql 4.1.14 using MYISAM tables
>        Reporter: Rex Madden
>        Assignee: Gail Badner
>         Fix For: 3.3.x
>
>      Attachments: src.zip
>
>
> Simple OneToMany parent/child relationship using the default table structure (2 tables and a join table)
> Add 3 children to the parent. Flush. Remove the first child. Flush throws error:
> Exception in thread "main" org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
>  at org.hibernate.exception.SQLStateConverter.convert (SQLStateConverter.java:69)
>  at org.hibernate.exception.JDBCExceptionHelper.convert (JDBCExceptionHelper.java:43)
>  at org.hibernate.jdbc.AbstractBatcher.executeBatch (AbstractBatcher.java:202)
>  at org.hibernate.engine.ActionQueue.executeActions (ActionQueue.java:230)
>  at org.hibernate.engine.ActionQueue.executeActions (ActionQueue.java:143)
>  at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions (AbstractFlushingEventListener.java:296)
>  at org.hibernate.event.def.DefaultFlushEventListener.onFlush (DefaultFlushEventListener.java:27)
>  at org.hibernate.impl.SessionImpl.flush (SessionImpl.java:980)
>  at UnidirectionalOneToManyRemoveFromListBug.main(UnidirectionalOneToManyRemoveFromListBug.java:27)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
>  at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
>  at java.lang.reflect.Method.invoke (Method.java:585)
>  at com.intellij.rt.execution.application.AppMain.main(AppMain.java:86)
> Caused by: java.sql.BatchUpdateException: Duplicate key or integrity constraint violation, message from server: "Duplicate entry '5' for key 2"
>  at com.mysql.jdbc.PreparedStatement.executeBatch (PreparedStatement.java:1461)
>  at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch (BatchingBatcher.java:58)
>  at org.hibernate.jdbc.AbstractBatcher.executeBatch (AbstractBatcher.java:195)
>  ... 11 more
> The problem is that there is a unique key on the relationship table that gets violated. The session removes the last row in the relationship table, then attempts to rewrite the child_id's. It fails since there is a uniqueness constraint on that column.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

   
_______________________________________________
hibernate-issues mailing list
hibernate-issues@(protected)
https://lists.jboss.org/mailman/listinfo/hibernate-issues
©2008 gg3721.com - Jax Systems, LLC, U.S.A.