2012-11-09 13 views
0

엔티티를 playORM에 매핑했고 프로젝트가 제대로 매핑 된 엔티티로 프로젝트가 제대로 실행되고있었습니다. 그러나, playORM 1.4.1을 설치 한 후, 가장 최신 버전 인 maven에서 null 포인터가 발생했습니다.NullPointer with playOrm 1.4.1 엔티티를 영속화 할 때

오류를 찾고 싶지만 찾고자하는 곳이 어디인지 알 수 없습니다.

힌트가 있습니까?

정보 : 발견 메타 = 사용자 로컬 2012년 11월 9일 17 : 32 : 22,918 com.alvazan.orm.layer9z.spi.db.cassandra.ColumnFamilyHelper waitForNodesToBeUpToDate 정보 : LOOP 모든 노드가 동일한 스키마 버전이 될 때까지 또는 시간 초과 : 300000 밀리 초 2012-11-09 17 : 32 : 22,939 com.alvazan.orm.layer9z.spi.db.cassandra.ColumnFamilyHelper tryToLoadColumnFamilyImpl 정보 : 글쎄, 우리는 열 가족을 찾지 못했습니다 = 사용자는 카산드라에서로드 할 사용자입니다. from virt = User) 2012-11-09 17 : 32 : 22,939 com.alvazan.orm.layer9z.spi.db.cassandra.ColumnFamilyHelper tryToLoadColumnFamilyVirt INFO : cassandra = 21에서 LOAD 열 패밀리 메타까지의 총 시간입니다. java.lang .NullPointerExceptioncom.alvazan.orm.impl.meta.data.MetaEmbeddedSimple.translateToColumn (MetaEmbeddedSimple.java:93) 에서 com.alvazan.orm.impl.meta.data.MetaEmbeddedSimple.translateToColumnImpl (MetaEmbeddedSimple.java:105) 210에서 com.alvazan.orm.impl.meta.data.MetaClassSingle.translateToRow (MetaClassSingle.java:82) com.alvazan.orm.layer0.base.BaseEntityManagerImpl.putImpl (BaseEntityManagerImpl.java:102)에서 com.alvazan에서 . orm.layer0.base.BaseEntityManagerImpl.put (BaseEntityManagerImpl.java:68) at com.s1mbi0se.dmp.da.dao.UserDao.insertOrUpdateUser (UserDao.java:23) at com.s1mbi0se.dmp.module.UserModule. persistData (UserModule.java:116) (com.s1mbi0se.dmp.processor.mapred.SelectorReducer.reduce (SelectorReducer.java:60) , com.s1mbi0se.dmp.processor) (Reducer.java:176) at org.apache.hadoop.mapred.ReduceTask.runNewReducer (ReduceTask.java : ReduceTask.java : 649) at org.apache.hadoop.mapred.ReduceTask.run (ReduceTask.java:417) at org.apache.hadoop.mapred.LocalJobRunner $ Job.run (LocalJobRunner.java:260) 17 : 32 : 22,946 WARN 스레드 -3 mapred.LocalJobRunner : 298 - job_local_0001 java.lang.InterruptedException at com.s1mbi0se.dmp.processor.mapred.SelectorReducer.reduce (SelectorReducer.java:63) at com.s1mbi0se.dmp.processor.mapred .SelectorReducer.reduce (SelectorReducer.java:1) at org.apache.hadoop.mapreduce.Reducer.run (Reducer.java:176) at org.apach e.hadoop.mapred.ReduceTask.runNewReducer (ReduceTask.java:649) at org.apache.hadoop.mapred.ReduceTask.run (ReduceTask.java:417) at org.apache.hadoop.mapred.LocalJobRunner $ Job. 실행 (LocalJobRunner.java:260) 2012-11-09 17 : 32 : 27,237 com.s1mbi0se.dmp.processor.main.DmpProcessorRunner run

+0

의 master 브랜치에서 사용할 수있는 1.4.2 버전에서 수정되었습니다. –

답변

2

EDIT : 이것은 master 브랜치에서 수정되어 곧 출시 될 예정입니다.

for(T val : toBeAdded) { 
     byte[] name = formTheName(val); 
     Column c = new Column(); 
     c.setName(name); 

     row.getColumns().add(c); 
    } 

특히 라인 (105)이 첫 번째입니다 ... 11/27/12

는 로그 형식은 조금 떨어져 보이지만 이것은 중요한 부분

java.lang.NullPointerException at com.alvazan.orm.impl.meta.data.MetaEmbeddedSimple.translateToColumnImpl(MetaEmbeddedSimple.java:105) 

라인 (105 개) 발견이 코드 그래서 toBeAdded는 어떤 이유로 든 null입니다.누가이 방법을 호출했는지 살펴 보았습니다.

hmmm 엔티티 중 하나가 null 목록을 가지고있는 것으로 나타났습니다. 여기에 코드를 추가해야합니다. 따라서 엔티티에 null 목록이 있으면 빈 목록을 만듭니다. 티켓을 제출하고이 URL에 링크 할 수 있습니까? 우리는 이것을 쉽게 고칠 수 있습니다.

참고 : 나는 그렇게

개인 목록 뭔가 같은 필드에있는 모든 개체의 습관이있다;

나는 100 % 항상) (이

개인 목록 뭔가 = 새로운 ArrayList를 같이 그것을 정의;

모든 나는이 일을 :(놓친 이유를 여기 저기 Nullpointers을 방지

:., 우리는이 널 (null) 목록을 할 수 있도록 수정됩니다

덕분에, 어쨌든 (..... 딘

관련 문제