Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment utiliser la fonction SQL native avec une requête HQL ?

Dans Attachment domaine ajouter un nouveau champ Long fileBytesLength et à l'intérieur de la fermeture du mappage, ajoutez la formule pour calculer la longueur de fileBytes champ.

class Attachment {

    String createUserName
    String originalFilename

    byte[] fileBytes
    Long fileBytesLength

    Date dateCreated
    //Other Properties

    static mapping = {
        //Other mappings
        fileLength formula: "dbms_lob.getlength(fileBytes)"
    }
}

Puis modifiez la requête en :

def results = Attachment.executeQuery(
    'select id, originalFilename, fileBytesLength, dateCreated, createUserName '+
    'from Attachment a where a.id not in '+
         '(select attachmentId from SpecVersion sv where sv.attachmentId is not null) '+
    'and a.dateCreated > sysdate - 30')