首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否忽略所有-删除-孤立?

问是否忽略所有-删除-孤立?
EN

Stack Overflow用户
提问于 2012-09-18 16:46:22
回答 1查看 743关注 0票数 0

我必须从excel导入数据库。数据库的一部分如下所示:

代码语言:javascript
复制
class Network {

   String externalId
   String name

   static hasMany = [phones: Phone]

   static mapping = {
      phones cascade: 'save-update,delete,all-delete-orphan'
   }
}
class Phone{

   String number

   static belongsTo = [Network]
}

我还有一个定义excel记录的类:

代码语言:javascript
复制
class NetworkExcelRecord{
   String externalId
   String name
   String phone1
   String phone2

   public def updateDomain() {
      if (!externalId)
         return null
      Network instance = Network.findByExternalId(externalId) ?: new Network()
      instance.properties = this.properties
      if (instance.isDirty() || !instance.id)
        instance.save(failOnError: true,flush: true)
   }

   private def getPhones() {
    def phonesOld = Network.findByExternalId(externalId)?.phones
    def phonesNew = []
    (1..2).collect {this."phone$it"}.eachWithIndex {String phoneNumber, Integer index ->
        if (phoneNumber) {
            Phone phone = phonesOld.find {it.number == phoneNumber}
            if (!phone)
                phone = new Phone(number: phoneNumber)
            phone.sortOrder = index
            phone.save()
            phonesNew << phone
        }
    }
    phonesNew
   }
}

但参考网络电话会更新,但孤立的电话不会删除。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2012-09-18 21:56:14

尝试删除Phone类中的belongsTo。通过在Network的映射中定义cascades,您不需要belongsTo,因为它只为关系定义了一个保存-删除级联。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12473403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档