package models.dao; import javax.inject.Inject; import javax.inject.Singleton; import models.User; import models.User.Status; import play.utils.dao.CachedDAO; import play.utils.dao.TimestampListener; import com.avaje.ebean.Page; @Singleton public class UserDAO extends CachedDAO<String, User> { @Inject public UserDAO() { super(String.class, User.class); addListener(new TimestampListener<String, User>()); //addListener(new UserDAOFollowCacheCleaner(userFollowDAO)); } public Page<User> page(int page, int pageSize, Status status) { return page(page, pageSize, "lastLogin desc", "status", status); } public void saveAssociation(User u, String association) { u.saveManyToManyAssociations(association); String key = u.getKey(); find().clean(key); } public void cacheClean(String cacheKey) { find.clean(cacheKey); } }