heck HOM 라이브러리를 사용하여 cassandra 데이터 저장소에 액세스하고 있습니다. 이 라이브러리는 Java로 작성되었으며 Collections를 사용할 때 약간의 고찰을 사용합니다.컬렉션 형식을 스칼라에서 Java로 변환하는 중 문제가 발생했습니다.
검색하려는 문자열 목록이 포함 된 java 모델이 있습니다. 불행하게도 나는 다음과 같은 예외가 얻을 : 나는를 java.util.List 객체를 생성 명시 적으로 시도
Execution exception [[HectorObjectMapperException: exception while instantiating Collection type, scala.collection.JavaConversions$SeqWrapper]]
Caused by: me.prettyprint.hom.cache.HectorObjectMapperException: exception while instantiating Collection type, scala.collection.JavaConversions$SeqWrapper
at me.prettyprint.hom.CollectionMapperHelper.instantiateCollection(CollectionMapperHelper.java:87) ~[hector-object-mapper-3.0-02.jar:na]
at me.prettyprint.hom.HectorObjectMapper.createObject(HectorObjectMapper.java:297) ~[hector-object-mapper-3.0-02.jar:na]
at me.prettyprint.hom.HectorObjectMapper.getObject(HectorObjectMapper.java:105) ~[hector-object-mapper-3.0-02.jar:na]
at me.prettyprint.hom.EntityManagerImpl.find(EntityManagerImpl.java:132) ~[hector-object-mapper-3.0-02.jar:na]
Caused by: java.lang.InstantiationException: scala.collection.JavaConversions$SeqWrapper
at java.lang.Class.newInstance0(Class.java:340) ~[na:1.6.0_29]
at java.lang.Class.newInstance(Class.java:308) ~[na:1.6.0_29]
at me.prettyprint.hom.CollectionMapperHelper.instantiateCollection(CollectionMapperHelper.java:75) ~[hector-object-mapper-3.0-02.jar:na]
at me.prettyprint.hom.HectorObjectMapper.createObject(HectorObjectMapper.java:297) ~[hector-object-mapper-3.0-02.jar:na]
을하지만 여전히 같은 문제가 발생합니다.
이val geoModel = new GeoModel(geoRK)
val thingList: java.util.List[java.lang.String] = things match {
case Some(t) => t.map(s => s.toString())
case None => new java.util.ArrayList()
}
geoModel.setThings(thingList)
geoDAO.upsertModel(geoModel)
모델은 미세 지속 내가 같이 카산드라에서 볼 수 있습니다 : 그것은 헥터 doens 나타납니다 다시 객체를 검색 할 때
(column=things, value=scala.collection.JavaConversions$SeqWrapper:0, timestamp=1333555422145002)
문제 여기 내 코드를 작성하고 내 모델을 유지하는 것입니다 scala.collection 유형을 처리하는 방법을 알지 못합니다.
어쨌든이 문제를 해결할 수 있습니까?
감사합니다.
당신은 사용해야은'대신 foreach' 'map'의 결과를 사용하지 않는다면'map'을 사용하십시오. – drexin