我有一个域类arHistory如下:
package ars
import ars.AccessRequest
import gra.Users
class ArHistory {
Long id =2340
Users updatedby
Date updatedon
String requeststatus
static hasMany=[accessrequests:AccessRequest]
static constraints = {
requeststatus(blank:false, nullable:false)
}
现在运行应用程序后,GORM创建表ar_history和ar_history_access_request(一对多关系的连接表)
上面的连接表只有2个外键,表本身没有主键ID 我想知道3件事, 1)我是否需要为连接表设置主键ID 2)如果是,我如何创建id(我是否通过mysql手动创建它) 3)具有hasMany()的优势,而不是在ArHistory中定义类变量AccessRequest,它只是规范化数据吗?
此致 Priyank
答案 0 :(得分:1)
您不需要在连接表中使用主键,因为您不允许使用hasMany进行重复操作。阅读hasMany的文档:“Grails将根据hasMany设置自动将类型为java.util.Set的属性注入域类”。因此,不需要主键。
第三个问题是什么意思? hasMany允许您将许多AccessRequest对象添加到集合中。