我有两个带有
mysql的grails表
说A和B.
我想在这里实现的场景是:
(1)A的实例可以有零个/一个/多个B实例.
(3)B的每个实例必须只与A的一个实例相关联.
(4)A知道B,但B不知道A.
条件号4不是强制性的.
从上面的信息看来:从A到B的单向一对多
class A { String name Set bs=[] static hasMany=[bs:B] } Class B { String name } B b=new B(name:'bname') b.save() A a=new A(name:'aname') a.addToBs(b) a.save()
保存两个条目时,(B正在保存,但A未保存)我使用addTo并获取错误没有方法addToBs()的签名
如果我错了,请帮助我并纠正我.
解决方法
class A { String name static hasMany=[bs:B] //by default bs are Set. no need of explicit declaration } Class B { String name static belongsTo = A //when delete a it's b also will get deleted } B b1=new B(name:'bname1') B b2=new B(name:'bname11') B b3=new B(name:'bname2') A a=new A(name:'aname1') A a2=new A(name:'aname2') a.save(flush:true) a2.save(flush:true) a.addToBs(b1) a.addToBs(b2) a2.addToBs(b3) a.save(flush:true) a2.save(flush:true)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。