繁体   English   中英

Grails的addTo和removeFrom动态方法的性能

Grails addTo and removeFrom dynamic methods performance

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我一直在使用Grails的addTo和removeFrom动态方法,它们很棒,通常我按以下方式使用它们

String id =params.quizId
Quiz quizInstance = Quiz.get(Long.parseLong(id))// **1**
for( String q in params.questionCheckBox)
{   
    Question question = Question.get(Long.parseLong(q))//**2**
    quizInstance.addToQuestions(question)//**3**
}

作为曾经使用过Java的人,我将这段代码可视化为以下三个步骤

  1. 运行选择查询以获取quizInstance
  2. 运行选择查询以获取问题
  3. 运行插入查询以在QUIZ_QUESTION表中插入问题

我确实看到第三步只需要测验ID和Question ID,然后为什么要执行前两个步骤。 是否有一种“ addTo”静态方法,可以用来说Quiz.addToQuestionAndQuiz(questionId,QuizId)如果我认为在数据库方面会出错,请更正我。

还有没有一种方法可以使用addTo方法直接添加值列表,还是必须使用for循环?

1 个回复

这只是一个建议-我不知道这是否可以正常工作:

String id =params.quizId
List<Question> questionList = Question.findAllByIdInList(params.questionCheckBox)
Quiz quizInstance = Quiz.get(Long.parseLong(id))
quizInstance.questions += questionList

让我知道这是否适合您

1 如何覆盖addTo *和RemoveFrom * GORM / Grails方法?

我试图覆盖Grails / GORM提供的动态方法addTo *但它似乎不起作用。 这是代码: 问题是,当调用addToPlayers时,我得到以下异常: 所以基本上我似乎必须自己初始化集合'玩家'。 那么,在这之前,我想对GORM机制有一些见解: 1 - GO ...

2 覆盖addTo和removeFrom以侦听Grails中属性的更改

我是Grails的新手,我需要在“has-many”属性发生变化时进行一些计算,我认为最好的地方是在属性的setter中,因为我的属性是列表中最好的位置应该在addTo和removeFrom方法中,我试图覆盖它们但没有奏效。 这是最好的方法吗? 我的代码出了什么问题? 这是代码: ...

5 Grails addTo *与事件一起缓慢执行

在我的Grails应用程序中,我正在使用一些非常激动的技术,但是最近我在性能方面遇到了一些问题,我将描述一下我的情况: 一张桌子,全场4M +; 我正在使用事件总线API; Grails 2.2.3; MySQL数据库; 当客户创建新房间时,也会创建一些 ...

6 在Grails 3单元测试中使用GORM addTo方法

我正在将一系列在Grails 2中可以使用的单元测试升级到Grails 3,并且在使用GORM动态方法(特别是addTo {myHasMany}方法)的域测试中遇到了问题。 给定以下域对象 然后,以下测试用例在Grails 3中失败了,并产生了一个异常,该异常是由Contact中a ...

7 Grails removeFrom()问题

在我的申请人域类中,我有以下内容: 当我执行以下操作时: 我认为这是一个对我没有意义的错误: ...

8 Grails奇怪的removeFrom *行为

在grails 2.2.1中从hasMany Relation中删除对象时,我刚遇到一个奇怪的行为。 删除不适用于: 在删除操作时: 我希望两者都能工作,现在我很好奇后者为什么起作用而第一个不起作用。 以下是涉及的Domain类: 谢谢! ...

10 Grails行为方法AddTo *

我的addTo *方法不稳定,我有一条记录,经常需要在一个实例中制作关系信息。 问题是,当我在短时间内放置多个插入时,它们不再保留在数据库中,而不是在它们返回后才被简单地丢弃了。 我的简单类是'Occurrence'和'Monitoring',每当我打电话时,我都必须注册它,它出现在连续 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM