你如何从grails调用数据库函数调用?

时间:2012-08-02 18:37:44

标签: sql database grails groovy

如何从grails调用数据库函数? 比如CONVERT(decimal, timestamp) 不使用像这样的groovy SQL:

def sql = new Sql(dataSource)

我想避免任何SQL语句,并充分利用grails magic。

2 个答案:

答案 0 :(得分:3)

我的理解是grails没有对数据库函数的本机支持。您将需要编写SQL。 Gorm是Hibernate的抽象,你可能想参考:

How can you call custom database functions with Hibernate?

答案 1 :(得分:0)

在您的域类中,首先您必须 -

导入 groovy.sql.Sql

然后你可以创建Sql实例并调用如下函数-

    def date = "'21-Feb-19 14:10:10.123000'"
    def timestamp_format = "'DD-Mon-RR HH24:MI:SS.FF'"
    String query = 'select to_timestamp('+date+','+timestamp_format+') from dual'
    def sql = Sql.newInstance('url', 'username', 'password', 'driverClassName')
    def result= sql.rows(query);
    def rows = result.collect{it.values()}
    println rows