mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
hibernate tweaks
This commit is contained in:
@@ -269,26 +269,26 @@ public class FeedEntryStatusDAO extends GenericDAO<FeedEntryStatus> {
|
||||
public void markFeedEntries(User user, Feed feed, Date olderThan) {
|
||||
List<FeedEntryStatus> statuses = findByFeed(feed, user, true,
|
||||
ReadingOrder.desc, false);
|
||||
update(markList(statuses, olderThan));
|
||||
saveOrUpdate(markList(statuses, olderThan));
|
||||
}
|
||||
|
||||
public void markCategoryEntries(User user, List<FeedCategory> categories,
|
||||
Date olderThan) {
|
||||
List<FeedEntryStatus> statuses = findByCategories(categories, user,
|
||||
true, ReadingOrder.desc, false);
|
||||
update(markList(statuses, olderThan));
|
||||
saveOrUpdate(markList(statuses, olderThan));
|
||||
}
|
||||
|
||||
public void markStarredEntries(User user, Date olderThan) {
|
||||
List<FeedEntryStatus> statuses = findStarred(user, ReadingOrder.desc,
|
||||
false);
|
||||
update(markList(statuses, olderThan));
|
||||
saveOrUpdate(markList(statuses, olderThan));
|
||||
}
|
||||
|
||||
public void markAllEntries(User user, Date olderThan) {
|
||||
List<FeedEntryStatus> statuses = findAll(user, true, ReadingOrder.desc,
|
||||
false);
|
||||
update(markList(statuses, olderThan));
|
||||
saveOrUpdate(markList(statuses, olderThan));
|
||||
}
|
||||
|
||||
private List<FeedEntryStatus> markList(List<FeedEntryStatus> statuses,
|
||||
|
||||
@@ -34,44 +34,24 @@ public abstract class GenericDAO<T extends AbstractModel> {
|
||||
builder = em.getCriteriaBuilder();
|
||||
}
|
||||
|
||||
public void save(T object) {
|
||||
em.persist(object);
|
||||
}
|
||||
|
||||
public void save(Collection<T> objects) {
|
||||
for (Object object : objects) {
|
||||
em.persist(object);
|
||||
}
|
||||
}
|
||||
|
||||
public void update(Collection<T> objects) {
|
||||
for (Object object : objects) {
|
||||
em.merge(object);
|
||||
}
|
||||
}
|
||||
|
||||
public void update(T... objects) {
|
||||
update(Arrays.asList(objects));
|
||||
}
|
||||
|
||||
public void saveOrUpdate(Collection<? extends AbstractModel> models) {
|
||||
int i = 0;
|
||||
for (AbstractModel model : models) {
|
||||
if (model.getId() == null) {
|
||||
em.persist(model);
|
||||
} else {
|
||||
em.merge(model);
|
||||
}
|
||||
|
||||
if (i % 20 == 0) {
|
||||
em.flush();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
public void saveOrUpdate(AbstractModel... models) {
|
||||
for (AbstractModel model : models) {
|
||||
if (model.getId() == null) {
|
||||
em.persist(model);
|
||||
} else {
|
||||
em.merge(model);
|
||||
}
|
||||
}
|
||||
saveOrUpdate(Arrays.asList(models));
|
||||
}
|
||||
|
||||
public void delete(T object) {
|
||||
|
||||
Reference in New Issue
Block a user