我正在使用Grails Audit Logging插件,该插件使用grails域类中的更改填充数据库表。
现在,我需要将插件持久化的数据(行)显示到视图中。
如何在grails中使用数据库表(不是域类)中的数据?
答案 0 :(得分:2)
不知道“使用信息”是什么意思,很难说。但是,如果您想查询该表,那么使用Groovy中的sql包就足够了。控制器可能如下所示:
package com.example
import groovy.sql.GroovyRowResult
import groovy.sql.Sql
class MyController {
def dataSource // injected data source from application
def index() {
def db = new Sql(dataSource)
def results = db.rows("SELECT col1, col2, col3 FROM my_table")
render view: 'index', model: results
}
当然,您可以根据需要在GSP中显示结果。
答案 1 :(得分:0)
我创建了一个grails域,它将与grails-audit-plugin
生成相同的数据库表。
然后我使用这个新创建的域来检索插件填充的数据库表中的数据。
我所做的域名如下。
class AuditLog {
String actor
String className
Date dateCreated
String eventName
Date lastUpdated
String newValue
String oldValue
String persistedObjectId
Long persistedObjectVersion
String propertyName
String uri
static constraints = {
dateCreated nullable: false
lastUpdated nullable: false
newValue nullable: true
oldValue nullable: true
persistedObjectVersion nullable: true
}
static mapping = {
version false
}
}