我有2个相关实体,并在索引时获得NullPointerException。
实体
std::terminate()
映射器类是
public final class Application implements java.io.Serializable {
....
private java.util.Set roles; // NOT nullable
....
}
public final class Role implements java.io.Serializable {
....
private ch.adnovum.nevisidm.service.dto.Application application;
....
}
例外是
public class ApplicationMapper extends AbstractMapper {
...
@Override
public void map(Class<?> clazz) {
...
indexedMapping
.property("roles", ElementType.FIELD)
.containedIn();
}
}
public class RoleMapper extends AbstractMapper {
...
@Override
public void map(Class<?> clazz) {
indexedMapping
.property("application", ElementType.METHOD)
.indexEmbedded()
.prefix("app.")
.targetElement(Application.class);
}
}
我使用Hibernate Search 4.1.1和lucene 3.5。 有没有人知道会出现什么问题?
谢谢, 诉
答案 0 :(得分:0)
您遇到的问题很可能是在更高版本的Hibernate Search中解决的错误。
您使用的是非常旧版本的Hibernate Search(2012年发布,自2013年1月起过时)。最新版本是5.7.0.Final,于2017年2月发布。
升级到最新版本的Hibernate Search可能会解决您的问题;虽然从这样一个旧版本升级可能涉及很多工作。
如果您无法为解决问题付出太多努力,可以尝试使用migration guides升级到最新的4.x(4.5.3.Final,2015年发布)。