2009-05-24 14 views
0

Je n'arrive pas à trouver comment supprimer un ensemble d'enregistrements lorsqu'un champ particulier est inférieur à la date sur le serveur SQL sans utiliser de tables ou de noms de champs.Supprimer le champ d'enregistrement <getdate()

Depuis que je suis en utilisant MSSQL la requête ressemblerait à quelque chose comme ceci:

DELETE FROM tickets WHERE expires < getdate() 

Comment pourrais-je aller à obtenir Hibernate pour ce faire? Je regarde dans HQL mais je ne vois pas un moyen de spécifier getdate().

Répondre

0

Vous devriez probablement définir une requête nommée SQL:

<sql-query name="DeleteExpiredTickets"> 
DELETE FROM tickets WHERE expires < getdate() 
</sql-query> 

appeler ensuite:

session.getNamedQuery("DeleteExpiredTickets").executeUpdate(); 
+0

Je peut le faire par ici. Où cela se passe-t-il dans le fichier de configuration? –

+0

Si vous utilisez hbms, vous devez l'ajouter de la même manière qu'un mappage de classe. Remplacez simplement la définition de classe par le code ci-dessus et vous êtes défini. –