【发布时间】:2012-04-24 17:19:27
【问题描述】:
Grails 提供derived properties 以使用 formula 映射参数从 SQL 表达式生成字段:
static mapping = {
myfield formula: "field1 + field2"
}
我正在尝试将公式参数与 PostgreSQL 数据库一起使用来创建连接字段。语法有点奇怪,因为 PostgreSQL 8.4 还不支持 concat_ws:
static mapping = {
myfield formula: "array_to_string(array[field1, field2],' ')"
}
在 DataSource 配置中以 loggingSql = true 显示的生成的 SQL 将表前缀插入到一些奇怪的地方:
select table0_.field1 as field1_19_0_,
table0_.field2 as field2_19_0_,=
array_to_string(table0_.array[field1, table0_.field2], ' ') as formula0_0_
from test_table table0_ where table0_.id=?
在派生公式中,表前缀错误地出现在 array 之前,但不在 field1 之前。有没有办法转义前缀或更明确地纠正这种行为?
【问题讨论】:
标签: postgresql grails grails-orm