[jboss-user] [EJB 3.0] - ManyToMany constraints problem
MelampO
do-not-reply at jboss.com
Thu Nov 30 11:48:44 EST 2006
Hello.
I have some problems using a ManyToMany relationship model. I think that it is an error in my implementation (probably with the CascadeType), but I don't know how to mend it.
I have this model:
| public class Libro implements Serializable {
|
| ...
| @ManyToMany (cascade = {CascadeType.PERSIST})
| @JoinTable(name = "LibrosEtiquetas", joinColumns = { @JoinColumn(name = "idLibro") }, inverseJoinColumns = { @JoinColumn(name = "idEtiqueta") })
| private List<Etiqueta> etiquetas;
| ...
|
|
| public class Etiqueta implements Serializable {
|
| ....
| @ManyToMany(cascade = { CascadeType.PERSIST }, mappedBy = "etiquetas")
| private List<Libro> libros;
| ....
|
When I persist a "libro" and the List is filled with "etiquetas" that doesn't exist in the database, it woks ok. It create the new "libro", the new "etiquetas" and the relation in the join table.
But if I persist with any existent "etiqueta" in the List it returns me an exception because it tries to create the "etiqueta" again... I don't know how can get that it does not try to create an "etiqueta" which is already created.
| Caused by: java.sql.BatchUpdateException: Duplicate entry 'dos' for key 1
| at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:657)
| at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:517)
| at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
| at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
|
Thank, and sorry for my english :D
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3990145#3990145
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3990145
More information about the jboss-user
mailing list