mysql - How to persist but avoid unique keys exceptions? -


my problem simple:
user has address, address composed of city, state , country.

so have structure:

public class user {   ..   //bi-directional many-to-one association useraddress   @manytoone(cascade = {cascadetype.persist, cascadetype.merge})   @joincolumn(name="id_user_address")   private useraddress useraddress;   .. } 

note cascadetype does not have cascadetype.all because if user deleted won't affect cities, states , countries created.

public class useraddress {   ..     //bi-directional many-to-one association addresscity     @manytoone(cascade = {cascadetype.persist, cascadetype.merge, cascadetype.})     @joincolumn(name="id_city")     private addresscity addresscity;      //bi-directional many-to-one association addresscountry     @manytoone(cascade = {cascadetype.persist, cascadetype.merge})     @joincolumn(name="id_country")     private addresscountry addresscountry;      //bi-directional many-to-one association addressstate     @manytoone(cascade = {cascadetype.persist, cascadetype.merge})     @joincolumn(name="id_state")     private addressstate addressstate;   .. } 

my problem if try register user has same city example gives me exception:

severe: caused by: com.mysql.jdbc.exceptions.jdbc4.mysqlintegrityconstraintviolationexception: duplicate entry 'campinas' key 'city_unique'

how can avoid kind of constraint, keeping cascade?
, know how show queries made jpa in jsf project?

the cascadetype.persist annotation user.useraddress causes useraddress persisted each user persisted , cascadetype.persist annotation useraddress.addresscity causes addresscity persisted each useraddress persisted. when persist user same city, new city tried persisted same key causes constraint violation. remove cascades manytoone annotated relationships.

you have check on saving user whether useraddress exists , check on saving useraddress whether relationships inside exist , take required action.


Comments

Popular posts from this blog

ios - iPhone/iPad different view orientations in different views , and apple approval process -

java Extracting Zip file -

C# WinForm - loading screen -