[Grails] 一对多关系怎样才能取消级联更新
shinewang
2008-11-27
需要实现以下功能
比如论坛的两个Topic(主题)和Post(回复)类,Topic与Post为一对多关系,通过数据库中Post表中的topic_id相关联,需要更新和删除topic时都不级联更新和删除post。在grails试了几种方法都不行,比如: class Topic { String title String body static hasMany = [ posts : Post ] } class Post { String body static belongsTo = Topic } 或者 class Topic { String title String body static hasMany = [ posts : Post ] } class Post { String body Topic topic } 有没有什么办法解决? |
|
wusema
2008-11-28
给你一种折中的可选的办法,纯属个人意见:
把要删除的Topic(主题)下的所有Post(回复)转移至另外一个叫“已被删除的主题的回复”的主题的ID下,你看如何? |
|
shinewang
2008-11-28
我想问的不是在删除topic时相关的post不删除的怎么办问题,而是取消级联更新,因为按上面的第一段代码那样写,当从数据库中取得某个topic(包括它下面的post),修改title后执行topic.save()时会把这个topic和它下面的posts全部update,也就是N+1个update,而我只想update topic而不update下面的post。
|
相关讨论
相关资源推荐
- 【大数据 OLAP ClickHouse 引擎】ClickHouse 系统架构和存储引擎实现原理 : 为什么 ClickHouse 这么快? Why is ClickHouse so fast?
- 面霸:Redis 为什么这么快?
- 科技爱好者周刊(第 181 期):移动支付应该怎么设计?
- 10条你绝对不能打破的交互设计规则
- 软件易用性测试
- 《Red5 用户参考手册》之二:入门第一章 FAQ
- 企业级分布式消息系统设计与实现:如何设计和实现一个完整的企业级分布式消息系统,包含消息队列、代理服务器、存储服务器等不同层面的技术细节
- python发行版是什么意思_Python(40)常见问题:编程常见问题
- 交互规则_您必须永不中断的10条交互设计规则
- 什么是多模态深度学习?有哪些应用场景?