2013-12-19 2 views
0

SalatDAO 확장을 사용하여 Salat 라이브러리에 매핑하는 사례 클래스가 있습니다. 이 경우 클래스에서 매개 변수 중 하나는 Enum 형식입니다.Salat MongoDB 인수 형식이 일치하지 않습니다.

다음
com.novus.salat.util.ToObjectGlitch: 

    argument type mismatch 

    $anon$2(class domain.content.Question @ [email protected]) toObject failed on: 
    SYM: domain.content.Question 
    CONSTRUCTOR 
public domain.content.Question(int,java.lang.String,scala.collection.immutable.List<domain.content.Answer>,scala.Enumeration$Value,boolean) 

---------- CONSTRUCTOR EXPECTS FOR PARAM [0] -------------- 
NAME:   id 
TYPE:   int 
DEFAULT ARG [Missing, but unnecessary because input value was supplied] 
@Ignore  false 
---------- CONSTRUCTOR INPUT ------------------------ 
TYPE: java.lang.Integer 
VALUE: 
1001 
------------------------------------------------------------ 


---------- CONSTRUCTOR EXPECTS FOR PARAM [1] -------------- 
NAME:   text 
TYPE:   java.lang.String 
DEFAULT ARG [Missing, but unnecessary because input value was supplied] 
@Ignore  false 
---------- CONSTRUCTOR INPUT ------------------------ 
TYPE: java.lang.String 
VALUE: 
Which is a valid java access modifier? 
------------------------------------------------------------ 


---------- CONSTRUCTOR EXPECTS FOR PARAM [2] -------------- 
NAME:   answers 
TYPE:   scala.collection.immutable.List<domain.content.Answer> 
DEFAULT ARG [Missing, but unnecessary because input value was supplied] 
@Ignore  false 
---------- CONSTRUCTOR INPUT ------------------------ 
TYPE: scala.collection.immutable.$colon$colon[B] 
VALUE: 
List(Answer(1,private,true,None), Answer(2,personal,false,None), Answer(3,protect,false,None), Answe... 
------------------------------------------------------------ 


---------- CONSTRUCTOR EXPECTS FOR PARAM [3] -------------- 
NAME:   quesType 
TYPE:   scala.Enumeration$Value 
DEFAULT ARG [Missing, but unnecessary because input value was supplied] 
@Ignore  false 
---------- CONSTRUCTOR INPUT ------------------------ 
TYPE: scala.None$[scala.runtime.Nothing$] 
VALUE: 
None 
------------------------------------------------------------ 


---------- CONSTRUCTOR EXPECTS FOR PARAM [4] -------------- 
NAME:   isSourceCodeAvailable 
TYPE:   boolean 
DEFAULT ARG [Missing, but unnecessary because input value was supplied] 
@Ignore  false 
---------- CONSTRUCTOR INPUT ------------------------ 
TYPE: java.lang.Boolean 
VALUE: 
false 
------------------------------------------------------------ 

가 Salat 주석이있는 열거 개체입니다 : 나는 데이터베이스에서 데이터를 가져 오기 위해 실행하면, 다음과 같은 오류가 발생합니다. 내가 놓친 게 있니?

@EnumAs(strategy = EnumStrategy.BY_ID) 
object QuestionTypeEnum extends Enumeration { 

    val MULTI_CHOICE = Value("MULTI_CHOICE") 
    val RADIO_BUTTON = Value("RADIO_BUTTON") 
    val DRAG_AND_DROP = Value("DRAG_AND_DROP") 

} 

답변

0

---------- CONSTRUCTOR EXPECTS FOR PARAM [3] -------------- 
NAME:   quesType 
TYPE:   scala.Enumeration$Value 
DEFAULT ARG [Missing, but unnecessary because input value was supplied] 
@Ignore  false 
---------- CONSTRUCTOR INPUT ------------------------ 
TYPE: scala.None$[scala.runtime.Nothing$] 
VALUE: 
None 

의 오류 메시지가 열거 값을 기대하지만, 데이터베이스가 Option[Enumeration.Value] 포함되어 있음을 시사한다.

+0

하지만 내가 생각하는 Salat 프레임 워크는 자동으로 필요한 열거 형에 상자가 될 것이라고 생각하지만, 그렇지 않은 것 같습니다. – sparkr