MongoDB を学習しようとしていますが、組み込みドメインの使用で問題が発生します。私のアプリには質問があり、0 から多くのオプションを含めることができます。
class Question {
ObjectId id
String text
List<Option> optionList = []
static embedded = ['optionList']
}
class Option {
ObjectId id
String text
static belongsTo = [question: Question]
}
今、次のような 2 つのオプションを使用して質問を保存するように要求したい場合:
void testSave() {
QuestionController questionController = new QuestionController()
questionController.request.parameters =
[
"text": "test question",
"optionList[0].text": "a",
"optionList[1].text": "b"
]
questionController.save()
}
これは例外をスローします:
Invalid property 'optionList[0]' of bean class [groovy.lojzatran.anketa.Question]: Index of out of bounds in property path 'optionList[0]'; nested exception is java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
org.springframework.beans.InvalidPropertyException: Invalid property 'optionList[0]' of bean class [groovy.lojzatran.anketa.Question]: Index of out of bounds in property path 'optionList[0]'; nested exception is java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
静的な hasMany で 1 対多の関係に変更すると、うまく機能します。
誰でも私を助けることができますか?
ありがとう