在Kundera中使用getResultList()方法时抛出Nullpointer异常

时间:2012-06-13 04:30:10

标签: java jpa hbase kundera

我使用Kundera作为JPA与HBase和java。以下是调用getResultList()方法的方法:

 @Override
    public List<Activity> getAllActivities()
    {
        em = emf.createEntityManager();        
        Query q = em.createQuery("select ac from Activity ac");
        List<Activity> activities = q.getResultList();
        return activities;
    }

抛出nullpointer异常。

Exception in thread "main" java.lang.NullPointerException
    at com.impetus.kundera.index.IndexManager.search(IndexManager.java:191)
    at com.impetus.kundera.query.LuceneQuery.getResultList(LuceneQuery.java:101)
    at com.impetus.activity.dao.ActivityService.getAllActivities(ActivityService.java:100)
    at ActivityExample.main(ActivityExample.java:44)

P.S:HBase中的活动表有6条记录 可能是什么原因?

2 个答案:

答案 0 :(得分:2)

请尝试添加下面提到的属性

<property name="index_home_dir" value="./lucene" />
在persistence.xml中

原因是您没有HBase可用的默认索引支持。

它应该适合你。

答案 1 :(得分:0)

好吧,似乎at com.impetus.kundera.index.IndexManager.search([IndexManager.java][1]:191)有一个片段:

public final Map<String, String> search(String query, int start, int count)
{
    return indexer.search(query, start, count, false); //line 191 
}

索引器似乎为空。索引器作为参数传递给IndexManager。在应用程序中查找索引器的实例化。