为关系覆盖 grails 域类中的 getter 和 setter [英] Override getter and setter in grails domain class for relation

查看:12
本文介绍了为关系覆盖 grails 域类中的 getter 和 setter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何覆盖作为 grails 域类中一对多关系的字段的 getter 和 setter?我知道如何覆盖作为单个对象的字段的 getter 和 setter,但我对集合有问题.这是我的情况:

How to override getter and setter for field being a relation one-to-many in grails domain class? I know how to override getters and setters for fields being an single Object, but I have problem with Collections. Here is my case:

我有实体域类,它有很多标题.现在我想覆盖标题的 getter 以仅获取标志 isActive 等于 true 的标题.我试过类似的东西,但它不起作用:

I have Entity domain class, which has many titles. Now I would like to override getter for titles to get only titles with flag isActive equals true. I've tried something like that but it's not working:

class Entity {

    static hasMany = [
        titles: Title
    ]

    public Set<Title> getTitles() {
        if(titles == null)
            return null
        return titles.findAll { r -> r.isActive == true }
    }

    public void setTitles(Set<Title> s) {
        titles = s
    }
}

class Title {
    Boolean isActive

    static belongsTo = [entity:Entity]

    static mapping = {
        isActive column: 'is_active'
        isActive type: 'yes_no'
    }
}

感谢您的帮助.

推荐答案

需要参考Set标题</code>.</p> <pre><code><code>class Entity { Set<Title> titles static hasMany = [ titles: Title ] public Set<Title> getTitles() { if(titles == null) return null; return titles.findAll { r -> r.isActive == true } } public void setTitles(Set<Title> s) { titles = s } } </code></code></pre> <p>这篇关于为关系覆盖 grails 域类中的 getter 和 setter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!</p> </div> <div class="arc-body-main-more"> <span onclick="unlockarc('2703212');">查看全文</span> </div> </div> <div> </div> <div class="wwads-cn wwads-horizontal" data-id="166" style="max-width:100%;border: 4px solid #666;"></div> </div> </article> <div id="arc-ad-2" class="mb-1"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5038752844014834" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5038752844014834" data-ad-slot="3921941283"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="widget bgwhite radius-1 mb-1 shadow widget-rel"> <h5>相关文章</h5> <ul> <li> <a target="_blank" title="覆盖grails域类中的getter和setter以获取关系" href="/831675.html"> 覆盖grails域类中的getter和setter以获取关系; </a> </li> <li> <a target="_blank" title="覆盖属性setter和getter" href="/25093.html"> 覆盖属性setter和getter; </a> </li> <li> <a target="_blank" title="如何创建getter和setter覆盖?" href="/1580114.html"> 如何创建getter和setter覆盖?; </a> </li> <li> <a target="_blank" title="Eclipse为域对象和具有'm'后缀的类成员生成getter / setter" href="/662351.html"> Eclipse为域对象和具有'm'后缀的类成员生成getter / setter; </a> </li> <li> <a target="_blank" title="是否在grails中使用getter和setter?" href="/2096428.html"> 是否在grails中使用getter和setter?; </a> </li> <li> <a target="_blank" title="Java类中的Scala getter和setter" href="/978826.html"> Java类中的Scala getter和setter; </a> </li> <li> <a target="_blank" title="getter和setter的类C#类" href="/418389.html"> getter和setter的类C#类; </a> </li> <li> <a target="_blank" title="是否可以覆盖 powershell 5 类中的 Getter/Setter 函数?" href="/2339624.html"> 是否可以覆盖 powershell 5 类中的 Getter/Setter 函数?; </a> </li> <li> <a target="_blank" title="简单的Scala getter / setter覆盖" href="/906020.html"> 简单的Scala getter / setter覆盖; </a> </li> <li> <a target="_blank" title="Python覆盖没有setter的getter" href="/2661865.html"> Python覆盖没有setter的getter; </a> </li> <li> <a target="_blank" title="在 Python 中覆盖继承属性的 getter 和 setter" href="/2344952.html"> 在 Python 中覆盖继承属性的 getter 和 setter; </a> </li> <li> <a target="_blank" title="Grails 域类与自身的关系" href="/2703116.html"> Grails 域类与自身的关系; </a> </li> <li> <a target="_blank" title="Getter和Setter?" href="/528925.html"> Getter和Setter?; </a> </li> <li> <a target="_blank" title="不使用setter的Python覆盖getter" href="/1698773.html"> 不使用setter的Python覆盖getter; </a> </li> <li> <a target="_blank" title="为BOOL变量写入getter和setter" href="/520262.html"> 为BOOL变量写入getter和setter; </a> </li> <li> <a target="_blank" title="Kotlin 中的 Getter 和 Setter" href="/2655278.html"> Kotlin 中的 Getter 和 Setter; </a> </li> <li> <a target="_blank" title="关于实现域类关系和问题约束在Grails" href="/545953.html"> 关于实现域类关系和问题约束在Grails; </a> </li> <li> <a target="_blank" title="ECMAScript 6 类中的 getter 和 setter 是什么?" href="/2652715.html"> ECMAScript 6 类中的 getter 和 setter 是什么?; </a> </li> <li> <a target="_blank" title="是否可以覆盖NSManagedObject子类中@dynamic属性的getter和setter?" href="/553076.html"> 是否可以覆盖NSManagedObject子类中@dynamic属性的getter和setter?; </a> </li> <li> <a target="_blank" title="属性 getter 和 setter" href="/2760440.html"> 属性 getter 和 setter; </a> </li> <li> <a target="_blank" title="Java Getter 和 Setter" href="/2534072.html"> Java Getter 和 Setter; </a> </li> <li> <a target="_blank" title="Lua Getter和Setter" href="/2872976.html"> Lua Getter和Setter; </a> </li> <li> <a target="_blank" title="Java的getter和setter" href="/210729.html"> Java的getter和setter; </a> </li> <li> <a target="_blank" title="数组的setter和getter" href="/2185661.html"> 数组的setter和getter; </a> </li> <li> <a target="_blank" title="如何在emacs中为Java类实现“生成getter / setter”?" href="/672824.html"> 如何在emacs中为Java类实现“生成getter / setter”?; </a> </li> </ul> </div> <div class="mb-1"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5038752844014834" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5038752844014834" data-ad-slot="3921941283"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="side"> <div class="widget widget-side bgwhite mb-1 shadow"> <h5>其他开发最新文章</h5> <ul> <li> <a target="_blank" title="拒绝显示一个框架,因为它将'X-Frame-Options'设置为'sameorigin'" href="/893060.html"> 拒绝显示一个框架,因为它将'X-Frame-Options'设置为'sameorigin'; </a> </li> <li> <a target="_blank" title="什么是&QUOT; AW&QUOT;在部分标志属性是什么意思?" href="/303988.html"> 什么是&QUOT; AW&QUOT;在部分标志属性是什么意思?; </a> </li> <li> <a target="_blank" title="在运行npm install命令时获取'npm WARN弃用'警告" href="/840917.html"> 在运行npm install命令时获取'npm WARN弃用'警告; </a> </li> <li> <a target="_blank" title="cmake无法找到openssl" href="/516280.html"> cmake无法找到openssl; </a> </li> <li> <a target="_blank" title="从Spark的scala中的* .tar.gz压缩文件中读取HDF5文件" href="/850628.html"> 从Spark的scala中的* .tar.gz压缩文件中读取HDF5文件; </a> </li> <li> <a target="_blank" title="Twitter :: Error :: Forbidden - 无法验证您的凭据" href="/630061.html"> Twitter :: Error :: Forbidden - 无法验证您的凭据; </a> </li> <li> <a target="_blank" title="我什么时候需要一个fb:app_id或者fb:admins?" href="/747981.html"> 我什么时候需要一个fb:app_id或者fb:admins?; </a> </li> <li> <a target="_blank" title="将.db文件导入R" href="/902960.html"> 将.db文件导入R; </a> </li> <li> <a target="_blank" title="npm通知创建一个lockfile作为package-lock.json。你应该提交这个文件" href="/744854.html"> npm通知创建一个lockfile作为package-lock.json。你应该提交这个文件; </a> </li> <li> <a target="_blank" title="拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src'self'”" href="/819167.html"> 拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src'self'”; </a> </li> </ul> </div> <div class="widget widget-side bgwhite mb-1 shadow"> <h5> 热门教程 </h5> <ul> <li> <a target="_blank" title="Java教程" href="/OnLineTutorial/java/index.html"> Java教程 </a> </li> <li> <a target="_blank" title="Apache ANT 教程" href="/OnLineTutorial/ant/index.html"> Apache ANT 教程 </a> </li> <li> <a target="_blank" title="Kali Linux教程" href="/OnLineTutorial/kali_linux/index.html"> Kali Linux教程 </a> </li> <li> <a target="_blank" title="JavaScript教程" href="/OnLineTutorial/javascript/index.html"> JavaScript教程 </a> </li> <li> <a target="_blank" title="JavaFx教程" href="/OnLineTutorial/javafx/index.html"> JavaFx教程 </a> </li> <li> <a target="_blank" title="MFC 教程" href="/OnLineTutorial/mfc/index.html"> MFC 教程 </a> </li> <li> <a target="_blank" title="Apache HTTP客户端教程" href="/OnLineTutorial/apache_httpclient/index.html"> Apache HTTP客户端教程 </a> </li> <li> <a target="_blank" title="Microsoft Visio 教程" href="/OnLineTutorial/microsoft_visio/index.html"> Microsoft Visio 教程 </a> </li> </ul> </div> <div class="widget widget-side bgwhite mb-1 shadow"> <h5> 热门工具 </h5> <ul> <li> <a target="_blank" title="Java 在线工具" href="/Onlinetools/details/4"> Java 在线工具 </a> </li> <li> <a target="_blank" title="C(GCC) 在线工具" href="/Onlinetools/details/6"> C(GCC) 在线工具 </a> </li> <li> <a target="_blank" title="PHP 在线工具" href="/Onlinetools/details/8"> PHP 在线工具 </a> </li> <li> <a target="_blank" title="C# 在线工具" href="/Onlinetools/details/1"> C# 在线工具 </a> </li> <li> <a target="_blank" title="Python 在线工具" href="/Onlinetools/details/5"> Python 在线工具 </a> </li> <li> <a target="_blank" title="MySQL 在线工具" href="/Onlinetools/Dbdetails/33"> MySQL 在线工具 </a> </li> <li> <a target="_blank" title="VB.NET 在线工具" href="/Onlinetools/details/2"> VB.NET 在线工具 </a> </li> <li> <a target="_blank" title="Lua 在线工具" href="/Onlinetools/details/14"> Lua 在线工具 </a> </li> <li> <a target="_blank" title="Oracle 在线工具" href="/Onlinetools/Dbdetails/35"> Oracle 在线工具 </a> </li> <li> <a target="_blank" title="C++(GCC) 在线工具" href="/Onlinetools/details/7"> C++(GCC) 在线工具 </a> </li> <li> <a target="_blank" title="Go 在线工具" href="/Onlinetools/details/20"> Go 在线工具 </a> </li> <li> <a target="_blank" title="Fortran 在线工具" href="/Onlinetools/details/45"> Fortran 在线工具 </a> </li> </ul> </div> </div> </div> <script type="text/javascript">var eskeys = '为,关系,覆盖,grails,域,类,中,的,getter,和,setter'; var cat = 'cc';';//other-dev</script> </div> <div id="pop" onclick="pophide();"> <div id="pop_body" onclick="event.stopPropagation();"> <h6 class="flex flex101"> 登录 <span onclick="pophide();">关闭</span> </h6> <div class="pd-1"> <div class="wxtip center"> <span>扫码关注<em>1秒</em>登录</span> </div> <div class="center"> <img id="qr" src="https://huajiakeji.com/Content/Images/qrydx.jpg" alt="" style="width:150px;height:150px;" /> </div> <div style="margin-top:10px;display:flex;justify-content: center;"> <input type="text" placeholder="输入验证码" id="txtcode" autocomplete="off" /> <input id="btngo" type="button" onclick="chk()" value="GO" /> </div> <div class="center" style="margin: 4px; font-size: .8rem; color: #f60;"> 发送“验证码”获取 <em style="padding: 0 .5rem;">|</em> <span style="color: #01a05c;">15天全站免登陆</span> </div> <div id="chkinfo" class="tip"></div> </div> </div> </div> <script type="text/javascript" src="https://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/highlight.min.js"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/base.js?v=0.22"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/tui.js?v=0.11"></script> <footer class="footer"> <div class="container"> <div class="flink mb-1"> 友情链接: <a href="https://www.it1352.com/" target="_blank">IT屋</a> <a href="https://huajiakeji.com/" target="_blank">Chrome插件</a> <a href="https://www.cnplugins.com/" target="_blank">谷歌浏览器插件</a> </div> <section class="copyright-section"> <a href="https://www.it1352.com" title="IT屋-程序员软件开发技术分享社区">IT屋</a> ©2016-2022 <a href="http://www.beian.miit.gov.cn/" target="_blank">琼ICP备2021000895号-1</a> <a href="/sitemap.html" target="_blank" title="站点地图">站点地图</a> <a href="/Home/Tags" target="_blank" title="站点标签">站点标签</a> <a target="_blank" alt="sitemap" href="/sitemap.xml">SiteMap</a> <a href="/1155981.html" title="IT屋-免责申明"><免责申明></a> 本站内容来源互联网,如果侵犯您的权益请联系我们删除. </section> <!--统计代码--> <script type="text/javascript"> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?0c3a090f7b3c4ad458ac1296cb5cc779"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script type="text/javascript"> (function () { var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </div> </footer> </body> </html>