Oracle
 sql >> Database >  >> RDS >> Oracle

Come utilizzare la funzione sql nativa con la query HQL?

In Attachment dominio aggiungi un nuovo campo Long fileBytesLength e all'interno della chiusura della mappatura aggiungi la formula per calcolare la lunghezza di fileBytes campo.

class Attachment {

    String createUserName
    String originalFilename

    byte[] fileBytes
    Long fileBytesLength

    Date dateCreated
    //Other Properties

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

E quindi modifica la query in:

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')