J'utilise play framework version 1.2.5 et je voudrais récupérer tous les utilisateurs connectés qui n'ont pas mis à jour leur session pendant 5 minutes, puis je voudrais définir leur état de connexion à "déconnecté".Récupérer des éléments de plus de 5 minutes dans DB
Voici mon modèle:
@Entity
public class User extends Model {
@Required
public String name;
public boolean isConnected;
public Date lastConnectionDate;
}
Et voici le travail qui mettent à jour les utilisateurs:
Date fiveMinsAgo = new Date(new Date().getTime() - 5 * 60);
List<User> list = User.find("select u from User u where u.isConnected = true and u.lastConnectionDate < ?", fiveMinsAgo).fetch();
for (User user : list) {
// We set these accounts as disconnected
user.isConnected = false;
user.save();
}
Ce code ne semble pas fonctionner. L'utilisateur est défini sur "déconnecté" même si son lastConnectionDate n'a pas plus de 5 minutes. Ai-je fait quelque chose de mal?
Y at-il un meilleur moyen/code pour faire ce que je voudrais faire? (Comme une commande UPDATE)
Merci pour votre aide
Merci à vous deux pour vos réponses cela a résolu mon problème! Je ne sais pas ce qui s'est passé, j'ai lu le javadoc mais je n'ai pas vu l'unité était en ms. En passant, ma façon de faire les choses est-elle correcte? Ou devrais-je utiliser une requête UPDATE? –