try to fix "Illegal attempt to associate a ManagedEntity with two open persistence contexts"

This commit is contained in:
Athou
2024-08-17 16:22:46 +02:00
parent 2395a2670e
commit e38ca66c51
3 changed files with 12 additions and 4 deletions

View File

@@ -43,6 +43,14 @@ public abstract class GenericDAO<T extends AbstractModel> {
models.forEach(this::saveOrUpdate);
}
public void persist(T model) {
entityManager.persist(model);
}
public T merge(T model) {
return entityManager.merge(model);
}
public T findById(Long id) {
return entityManager.find(entityClass, id);
}

View File

@@ -157,7 +157,7 @@ public class FeedRefreshUpdater {
feedUpdated.mark();
}
unitOfWork.run(() -> feedService.save(feed));
unitOfWork.run(() -> feedService.update(feed));
notifyOverWebsocket(unreadCountBySubscription);

View File

@@ -47,18 +47,18 @@ public class FeedService {
feed.setNormalizedUrl(normalizedUrl);
feed.setNormalizedUrlHash(normalizedUrlHash);
feed.setDisabledUntil(Models.MINIMUM_INSTANT);
feedDAO.saveOrUpdate(feed);
feedDAO.persist(feed);
}
return feed;
}
public void save(Feed feed) {
public void update(Feed feed) {
String normalized = FeedUtils.normalizeURL(feed.getUrl());
feed.setNormalizedUrl(normalized);
feed.setNormalizedUrlHash(Digests.sha1Hex(normalized));
feed.setLastUpdated(Instant.now());
feed.setEtagHeader(FeedUtils.truncate(feed.getEtagHeader(), 255));
feedDAO.saveOrUpdate(feed);
feedDAO.merge(feed);
}
public Favicon fetchFavicon(Feed feed) {