我正在使用MassIndexer來索引我的文檔。我有@Transient註釋的方法引用了延遲初始化集合@OneToMany像這樣:Hibernate中的瞬態方法MassIndexing搜索引用代理
@OneToMany
@JoinColumns({
@JoinColumn(name = "insertForeignKeyHere", referencedColumnName = "insertPrimaryKeyHere"),... })
@NotFound(action = NotFoundAction.IGNORE)
public Set<AdditionalOption> getAdditionalOptions() {
return this.additionalOptions;
}
@Transient
@IndexedEmbedded
public Set<AdditionalOption> getActiveAdditionalOptions() {
Set<AdditionalOption> ret = new HashSet<>();
//the next line produces the error
for (AdditionalOption addOpt : this.getAdditionalOptions()) {
//do stuff.
}
return ret;
}
每當我試着指數這份文件有MassIndexer並沒有@OneToMany(取= FetchType.EAGER)我得到此異常:
org.hibernate.LazyInitializationException:無法初始化懶洋洋角色的集合:< ...>,無法初始化代理 - 沒有會話
如何做到這一點沒有急切取任何想法? (我有4個或5個集合,如果這種方式工作不正常,會需要提前取用 - >巨大的性能問題)
在此先感謝。
BTW:我使用
<hibernate.version>4.3.1.Final</hibernate.version>
<hibernate.search.version>4.5.0.Alpha2</hibernate.search.version>
<lucene.version>3.6.2</lucene.version>
好的。我會嘗試的。 –
何時將版本添加到mvnrepository.org的maven存儲庫? –
現在,我可以使用jboss repo :)。 –