added utility methods

This commit is contained in:
Athou
2013-04-25 14:43:37 +02:00
parent 735c2efb34
commit 9ea1278823

View File

@@ -14,7 +14,6 @@ import javax.persistence.criteria.Root;
import javax.persistence.metamodel.Attribute; import javax.persistence.metamodel.Attribute;
import com.commafeed.backend.model.AbstractModel; import com.commafeed.backend.model.AbstractModel;
import com.commafeed.backend.model.FeedEntryStatus;
import com.google.common.reflect.TypeToken; import com.google.common.reflect.TypeToken;
import com.uaihebert.factory.EasyCriteriaFactory; import com.uaihebert.factory.EasyCriteriaFactory;
import com.uaihebert.model.EasyCriteria; import com.uaihebert.model.EasyCriteria;
@@ -55,11 +54,23 @@ public abstract class GenericDAO<T extends AbstractModel> {
update(Arrays.asList(objects)); update(Arrays.asList(objects));
} }
public void saveOrUpdate(AbstractModel m) { public void saveOrUpdate(Collection<? extends AbstractModel> models) {
if (m.getId() == null) { for (AbstractModel model : models) {
em.persist(m); if (model.getId() == null) {
} else { em.persist(model);
em.merge(m); } else {
em.merge(model);
}
}
}
public void saveOrUpdate(AbstractModel... models) {
for (AbstractModel model : models) {
if (model.getId() == null) {
em.persist(model);
} else {
em.merge(model);
}
} }
} }
@@ -129,8 +140,7 @@ public abstract class GenericDAO<T extends AbstractModel> {
return criteria.getResultList(); return criteria.getResultList();
} }
protected void limit(TypedQuery<?> query, int offset, protected void limit(TypedQuery<?> query, int offset, int limit) {
int limit) {
if (offset > -1) { if (offset > -1) {
query.setFirstResult(offset); query.setFirstResult(offset);
} }