gpt4 book ai didi

sql - 在Grails中,您可以在同一方法中同时使用sql.newInstance和Domain类调用吗?

转载 作者:行者123 更新时间:2023-12-02 13:50:14 26 4
gpt4 key购买 nike

你能有看起来像这样的代码吗?

def methodname ()
{
proc = "sql to call a stored proc"
def conn = Sql.newInstance(DB_CONN, DB_USERNAME, DB_PASSWORD, "org.postgresql.Driver")
def result1 = conn.rows(proc)
def result2 = MyClass.Find("from MyClass where foo='bar'")
return [result1, result2]
}

如果是这样,他们是否使用不同的连接?有什么方法可以使对存储proc的调用使用与MyClass调用相同的连接?

最佳答案

他们将使用不同的连接。 Sql将获取一个新的,而GORM调用将使用由DataSource管理的连接池中的一个。但是您可以通过使用sessionFactory.currentSession.connection()使Sql使用与GORM调用相同的连接:

class MyControllerOrMyService {

def sessionFactory

def methodname() {
proc = "sql to call a stored proc"
def conn = new Sql(sessionFactory.currentSession.connection())
def result1 = conn.rows(proc)
def result2 = MyClass.Find("from MyClass where foo='bar'")
return [result1, result2]
}
}

关于sql - 在Grails中,您可以在同一方法中同时使用sql.newInstance和Domain类调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1895427/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com