将 Grails 域对象映射到 JDBC 表/序列
Posted
技术标签:
【中文标题】将 Grails 域对象映射到 JDBC 表/序列【英文标题】:Mapping Grails Domain object to JDBC table/sequence 【发布时间】:2012-11-08 23:25:28 【问题描述】:我正在尝试将现有的 oracle 表映射到新的 Grails 域对象。我也有一个现有的序列。调用“run-app”时出现错误:
Unsuccessful: create sequence hibernate_sequence
ORA-01031: insufficient privileges
我的目标是使用现有序列,而不是创建新序列。郑重声明,这是我第一次尝试 Grails/Groovy。
我的域对象如下所示。表名是Uicc_Inv_Detail
。 PK 是UICC_INV_DETAIL_ID
。其他列与 Uicc 类中的名称相同。序列名称为Uicc_Inv_Detail_Seq
。
我认为我的整个“id 生成器”部分是错误的。
class Uicc
String id
String iccid
String imsi
static mapping =
version false
table 'Uicc_Inv_Detail'
id generator: 'sequence',column:'UICC_INV_DETAIL_ID',
params: [table: 'Uicc_Inv_Detail_Seq', column: 'nextval']
static constraints =
【问题讨论】:
【参考方案1】:用途:
id generator:'native', params:[sequence:'Uicc_Inv_Detail_Seq']
这是文档: http://grails.org/doc/2.0.x/ref/Database%20Mapping/id.html http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/mapping.html#mapping-declaration-id-generator
【讨论】:
这行得通,谢谢。我只需要将其修改为id column: 'uicc_inv_detail_id', generator:'native', params:[sequence:'Uicc_Inv_Detail_Seq']
以上是关于将 Grails 域对象映射到 JDBC 表/序列的主要内容,如果未能解决你的问题,请参考以下文章