graal trouver en premier
Je sais que c'est une question simple, mais en prenant plus de temps
Comment trouver le premier enregistrement de la table dans le graal .
J'ai besoin d'obtenir uniquement le premier enregistrement avec out savoir le numéro d'identification .
Est-il une méthode permettant de savoir :d'abord dans graal ?
merci d'avance .
OriginalL'auteur srinath | 2010-06-07
Vous devez vous connecter pour publier un commentaire.
Bien, vous devez définir par ce que mesure cet enregistrement est censé être le "premier".
Présume que vous parlez de l'enregistrement le plus tôt possible la création d'horodatage, la méthode la plus simple et la plus robuste approche serait d'ajouter un
dateCreated
propriété de domaine de votre classe, puis l'interrogation de l'entité avec le plus bas de cette date. En fait, vous n'avez même pas à définir la date de création manuellement, car Graal fait pour vous (aussi longtemps que vous le nom de la propriétédateCreated
) - voir Automatique horodatage dans le Graal de la Documentation.La requête HQL serait quelque chose comme:
"parce que mon timestamp sera toujours en changement lors de l'édition" -> Si vous utilisez Graal " automatique horodatage, il y a une différence entre
dateCreated
(une seule fois lors de l'insertion et de ne pas être changé par la suite) etlastUpdated
(mis à jour lors de chaque mise à jour/changer).Si votre id est numérique et auto incrémenté strictement dans l'ordre croissant, vous pouvez bien sûr
ORDER BY id
OriginalL'auteur Daniel Rinser
La mise à jour de Graal 2.1.1 ou tard, ajoute deux nouvelles méthodes (premier et dernier) pour GORM pour répondre à ce besoin de fonctionnalité.
De la docs:
OriginalL'auteur arcdegree
Découvrez hibernate critères et des projections, de l'e.g:
http://grails.org/doc/1.0.3/ref/Domain%20Classes/createCriteria.html
OriginalL'auteur z.eljayyo
Si l'horodatage n'est pas grave, vous pouvez essayer si Daniel réponse sans ORDONNANCE PAR les œuvres, c'est à dire
SELECT * FROM xyz LIMIT 1
dans la plaine SQL.Comme pour MySQL, je viens de trouver ce sujet sur le forum: forums.mysql.com/read.php?21,239471,239471 Conclusion: en Raison de la mise en œuvre du moteur, l'ordre par défaut PEUT être l'insert de commande (au moins pour MyISAM), mais ce n'est certainement rien de compter sur! Je suppose que la même chose vaut pour d'autres SGBD.
OriginalL'auteur Jörg Brenninkmeyer
Vous pouvez utiliser le graal findBy méthodes pour renvoyer le premier résultat d'une requête.
-> à Partir de la 1.3.7 docs
-> à partir de la dernière docs
OriginalL'auteur chim