From 74d4c18c4c174fcd83fea6cf75cc0bc7789efa1f Mon Sep 17 00:00:00 2001 From: Athou Date: Sun, 29 Mar 2015 21:28:36 +0200 Subject: [PATCH] keep only remove cascading --- src/main/java/com/commafeed/backend/model/User.java | 5 +---- src/main/java/com/commafeed/backend/service/UserService.java | 4 +++- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/commafeed/backend/model/User.java b/src/main/java/com/commafeed/backend/model/User.java index e2d45449..aa2229ab 100644 --- a/src/main/java/com/commafeed/backend/model/User.java +++ b/src/main/java/com/commafeed/backend/model/User.java @@ -17,7 +17,6 @@ import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.time.DateUtils; -import org.hibernate.annotations.Cascade; import com.commafeed.backend.model.UserRole.Role; @@ -58,9 +57,7 @@ public class User extends AbstractModel { @Temporal(TemporalType.TIMESTAMP) private Date recoverPasswordTokenDate; - @OneToMany(mappedBy = "user", cascade = { CascadeType.PERSIST, CascadeType.REMOVE }) - @Cascade({ org.hibernate.annotations.CascadeType.PERSIST, org.hibernate.annotations.CascadeType.SAVE_UPDATE, - org.hibernate.annotations.CascadeType.REMOVE }) + @OneToMany(mappedBy = "user", cascade = CascadeType.REMOVE) private Set roles = new HashSet<>(); @OneToMany(mappedBy = "user", fetch = FetchType.LAZY, cascade = CascadeType.REMOVE) diff --git a/src/main/java/com/commafeed/backend/service/UserService.java b/src/main/java/com/commafeed/backend/service/UserService.java index b7172cfa..25112bd8 100644 --- a/src/main/java/com/commafeed/backend/service/UserService.java +++ b/src/main/java/com/commafeed/backend/service/UserService.java @@ -16,6 +16,7 @@ import org.apache.commons.lang3.StringUtils; import com.commafeed.CommaFeedConfiguration; import com.commafeed.backend.dao.FeedCategoryDAO; import com.commafeed.backend.dao.UserDAO; +import com.commafeed.backend.dao.UserRoleDAO; import com.commafeed.backend.dao.UserSettingsDAO; import com.commafeed.backend.model.User; import com.commafeed.backend.model.UserRole; @@ -29,6 +30,7 @@ public class UserService { private final FeedCategoryDAO feedCategoryDAO; private final UserDAO userDAO; + private final UserRoleDAO userRoleDAO; private final UserSettingsDAO userSettingsDAO; private final PasswordEncryptionService encryptionService; @@ -115,7 +117,7 @@ public class UserService { user.setSalt(salt); user.setPassword(encryptionService.getEncryptedPassword(password, salt)); for (Role role : roles) { - user.getRoles().add(new UserRole(user, role)); + userRoleDAO.saveOrUpdate(new UserRole(user, role)); } userDAO.saveOrUpdate(user); return user;