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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...