我正在使用grails 1.1.1,我收到了这个错误 收集[Person.companies]未由flush()
处理配置如下: 人域名有很多公司(公司域名) 而公司属于人
然后在控制器中我确实喜欢这个
def person = session.person ;
def jobs = Job.findByPerson(person);
jobs.currentSalary = new BigDecimal(params.currentSalary);
... another code ...
jobs.save(flush:true);
它产生以下错误:collection [Person.companies]未由flush()
处理我尝试从
更改第一行def person = session.person;
to
def person = Person.get(session.person.id);
我在邮件列表上看到,有人说它与可搜索的插件有关,但我没有使用那个。
它有效......
我的问题,为什么我不能使用包含相同对象的session.person。
谢谢你
答案 0 :(得分:1)
尝试更换:
def person = session.person;
使用:
def person = session.person.attach();
答案 1 :(得分:0)
当person.company被定义为List而不是Set或SortedSet时,我遇到了类似的问题。在我的情况下,我最终必须更改公司的compareTo函数,以便SortedSet正常工作。这些JIRA 2986和4453之间似乎是一个奇怪的互动,我没有时间理清。根本问题涉及一些延迟加载集合。
http://jira.codehaus.org/browse/GRAILS-4453 (只能发布一个超链接)