Advertisement
ekvenkatesh

JPA Cascade Delete Problem

Apr 10th, 2013
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.58 KB | None | 0 0
  1. I have three entities: `User`, `Role` and `UserRole`
  2.  
  3.     @Entity
  4.     public class User {
  5.         @Id
  6.         @GeneratedValue(strategy = GenerationType.AUTO)
  7.         private int id;
  8.         @Column(name = DBColumns.USER_NAME)
  9.         private String name;
  10.         @ManyToOne
  11.         @JoinColumn(name = DBColumns.CONTEXT_ID)
  12.         private Context context;
  13.         @OneToMany(mappedBy = "user", cascade = CascadeType.REMOVE, fetch = FetchType.LAZY)
  14.         private Collection<UserRole> userRoles;
  15.     }
  16.    
  17.     @Entity
  18.     public class Role {
  19.         @Id
  20.         @GeneratedValue(strategy = GenerationType.AUTO)
  21.         private int id;
  22.         @Column(name = DBColumns.ROLE_NAME)
  23.         String name;
  24.         @ManyToOne
  25.         @JoinColumn(name = DBColumns.CONTEXT_ID)
  26.         Context context;
  27.         @OneToMany(mappedBy = "role", cascade = CascadeType.REMOVE, fetch = FetchType.LAZY)
  28.         private Collection<UserRole> userRoles;
  29.     }
  30.    
  31.     @Entity
  32.     public class UserRole {
  33.         @Id
  34.         @GeneratedValue(strategy = GenerationType.AUTO)
  35.         private int id;
  36.         @ManyToOne
  37.         @JoinColumn(name = DBColumns.USER_ID)
  38.         User user;
  39.         @ManyToOne
  40.         @JoinColumn(name = DBColumns.ROLE_ID)
  41.         Role role;
  42.     }
  43.  
  44. When I try to delete a `User` entity, the `UserRole` entity is not getting deleted. Instead, I still get the following error:
  45.  
  46. Cannot delete or update a parent row: a foreign key constraint fails (`my_db`.`user_role`, CONSTRAINT `FKBC16F46A7B675C08` FOREIGN KEY (`USER_ID`) REFERENCES `user` (`id`))
  47.  
  48. What am I missing here?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement