GORM没有保存我的hasMany实体

时间:2016-04-17 10:44:33

标签: grails gorm

所以我最近对GORM提出了很多要求,因为这是我第一次使用它,每次我都有一些关于对象之间关系的问题并保存它们。 所以这是一个类:

class TesterUser {

@Id
private String id

private String userId

static belongsTo = Dashboard

static constraints = {
    userId nullable: true
}

static mapping = {
    id column: 'id', generator: 'assigned'
}

public String getUserId() {
    return userId;
}
public void setUserId(String userId) {
    this.userId = userId;
}   
public String getId() {
    return id;
}
public void setId(String id) {
    this.id = id;
}
}

这是另一个班级:

class TestingClass {

@Id
private String id

private Date created
private Date modified

private String title

private ClassName className

static hasMany = [testUsers : TesterUser, sheets : Sheet]
static belongsTo = ClassName

static constraints = {
    modified nullable: true
    title nullable: true
    className nullable: true
}

static mapping = {
    sheets column:'testingClassId',joinTable: false
    testUsers column:'testingClassId',joinTable: false
    id column: 'id', generator: 'assigned'
    title column: "title", length: 90000
}

public Date getCreated() {
    return created;
}
public void setCreated(Date created) {
    this.created = created;
}
public Date getModified() {
    return modified;
}
public void setModified(Date modified) {
    this.modified = modified;
}

public String getTitle() {
    return title;
}
public void setTitle(String title) {
    this.title = title;
}

public DavUser getClassName() {
    return className;
}
public void setClassName(ClassName className) {
    this.className = className;
}   
public Date getDeleted() {
    return deleted;
}
public String getId() {
    return id;
}
public void setId(String id) {
    this.id = id;
}
}

我已经将对象保存在数据库中,但现在我想设置它们之间的关系,当我调用并保存它们时,它不起作用:

TesterUser testU = TesterUser.findById(uId)
TestingClass testC = TestingClass.findById(cId)
if(testU != null && testC != null){
amountOfRelations++
testC.addToDashboardUsers(testU)
if(!dtestC.save(flush:true, failOnError: true)){
amountOfUnsaved++
}
else{
amountOfsaved++
}

出于某种原因,我没有得到任何错误。不仅如此,我可以看到查询将转到我的数据库,但没有任何反应。没有更新,也没有错误。 我不知道为什么它不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

最终我无法保存我的实体。 我的解决方案'是使用addTo方法首先保存实体。 我仍然不知道为什么它没有工作或我需要做什么才能让我的实体得到保存,但我仍然有一个解决方法。