2009-07-20 2 views
1

私はGrailsの1.1.1を使用していると私は、このエラー コレクションは[Person.companies]フラッシュ()セッションを使用しているときに[Person.companies]のコレクションがflush()によって処理されなかったのはなぜですか?

の構成は以下の通りであることにより、処理されなかった得た: 人のドメインが、多くの企業があります(会社のドメイン) ながら、会社belongsToの人

コントローラで、私はこの

def person = session.person ; 
def jobs = Job.findByPerson(person); 
jobs.currentSalary = new BigDecimal(params.currentSalary); 
... another code ... 

jobs.save(flush:true); 

のように、それは、次のエラーが発生しました:コレクション[Person.companies]は、(フラッシュによって処理されなかった)

は私が誰かがそれが検索プラグインに関連しているが、私は1つを使用していないと述べた、私はメーリングリストで読み

def person = session.person; 
to 
def person = Person.get(session.person.id); 

から最初の行を変更しようとしました。

、それは私が同じオブジェクトを含むsession.personを使用できない理由...

私の質問に、動作します。 person.companyが一覧ではなく、設定またはにSortedSetと定義したとき、あなたは

答えて

0

おかげで、私は同様の問題に遭遇しました。私の場合、SortedSetが正しく動作するようにCompanyのcompareTo関数を変更する必要がありました。これらのJIRA 2986と4453の間には、私が整理する時間がないという奇妙な相互作用があるようでした。根本的な問題は、怠惰なコレクションの読み込みです。

http://jira.codehaus.org/browse/GRAILS-4453 (一つだけのハイパーリンクを投稿することができます)

1

交換してみてください:

def person = session.person; 

と:

def person = session.person.attach(); 
関連する問題