Github user ilgrosso commented on a diff in the pull request:
https://github.com/apache/syncope/pull/70#discussion_r181093676
--- Diff:
core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAccessTokenDAO.java
---
@@ -115,6 +115,16 @@ public AccessToken save(final AccessToken accessToken)
{
return entityManager().merge(accessToken);
}
+ @Override
+ @Transactional(rollbackFor = Throwable.class)
+ public void merge(final AccessToken accessToken) {
+ AccessToken existing = findByOwner(accessToken.getOwner());
+ if (existing != null) {
+ entityManager().remove(existing);
+ }
+ entityManager().persist(accessToken);
--- End diff --
Also, replace `entityManager().remove(existing)` with `delete(existing)`,
thanks.
---